【问题标题】:The size of my symbol gets too big when i zoom out in google map当我在谷歌地图中缩小时,我的符号的大小变得太大了
【发布时间】:2014-11-16 07:44:42
【问题描述】:

我是谷歌地图的新手。我正在做一个项目,我必须显示带有箭头的折线。折线的大小是完美的,但箭头显得太大。 我只是使用此代码。

var lineSymbol = {
    path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
    scale: 2
    };
var a = new google.maps.LatLng(lat1, lon1);
var b = new google.maps.LatLng(lat2,lon2);
var myTrip = [a, b];
var flightPath = new google.maps.Polyline({
       path: myTrip,
       icons: [{
         icon: lineSymbol,
         offset: '100%'
       }],
       strokeColor: "#8B0000",
       strokeOpacity: 0.8,
       strokeWeight: 6
 });

下面的这些链接是我见过的,但它们并不接近我所需要的:)

我看到的链接是

【问题讨论】:

  • API在缩放改变时不会改变符号的大小(比例),那么在大小没有改变的情况下,标记怎么会变得太大呢?
  • 我在放大和缩小地图事件时缩放符号,例如 scale = map.getZoom() * ;。有 0-21 个缩放级别,因此您可以计算要如何相应地缩放符号。
  • 好像没有应用比例尺..对我来说似乎一样:/
  • @Abs 我应该将我的符号保存在列表中吗?可能有一次我在地图上可以有 30 个……但感谢您的评论……它比我见过的任何帖子都更有意义:)

标签: javascript google-maps google-maps-api-3


【解决方案1】:

您可以使用第一个链接中描述的策略来做您想做的事。

google.maps.event.addListener(map, 'zoom_changed', function() {
    zoomLevel = map.getZoom();
    //this is where you will change your icon...     
  });

在该监听器中,您可以更改图标的scale 属性以及您想要修改的任何其他属性(可能是笔画粗细等)。

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 2019-09-21
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 1970-01-01
    相关资源
    最近更新 更多