Размер моего символа становится слишком большим, когда я уменьшаю масштаб карты Google

Я новичок в Google-картах. Я работаю над проектом, в котором мне нужно показать полилинию со стрелкой. Размер ломаной линии идеален, но стрелка кажется слишком большой. я просто использую этот код.

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
 });

Эти ссылки ниже - это те, которые я видел, но они не близки к тому, что мне нужно :)

Ссылки, которые я видел,


person Tamoor Rahil    schedule 22.09.2014    source источник
comment
API не меняет размер (масштаб) символов при изменении масштабирования, так как же маркер может стать слишком большим, если размер не изменился?   -  person Dr.Molle    schedule 23.09.2014
comment
Я масштабирую символ при увеличении и уменьшении масштаба событий карты, таких как scale = map.getZoom () * ‹моя математика, если есть› ;. Существуют уровни масштабирования от 0 до 21, поэтому вы сами решаете, как вы хотите масштабировать свой символ соответствующим образом.   -  person Abs    schedule 23.09.2014
comment
Как будто шкала не применяется .. Мне кажется то же самое: /   -  person Tamoor Rahil    schedule 25.09.2014
comment
@Abs, тогда мне следует сохранять свои символы в списке? может быть, когда-то у меня может быть около 30 на карте .. но спасибо за комментарий ... Это дает больше смысла, чем любой пост, который я видел :)   -  person Tamoor Rahil    schedule 25.09.2014


Ответы (1)


Вы можете использовать стратегию, описанную в вашей первой ссылке, чтобы делать то, что хотите.

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

Внутри этого слушателя вы можете изменить свойство значка scale вашего значка, а также любые другие свойства, которые вы хотите изменить (например, вес штриха и т. Д.).

person emersonthis    schedule 29.01.2015