5

我正在通过以下方式将图标用于 Google Maps Marker (V3):

var marker = new google.maps.Marker({
    id: "theId",
    icon: {
        path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
        strokeColor: "green"
    },
    map: map,
    title: "theTitle",
    position: someLatitudeLongitude
});

现在,在创建此标记后,我喜欢使用颜色面板更改颜色运行时。现在这对于折线或多边形非常有效,但对于标记不太好:它已更改但未实时更新。

代码:

selectedShape.icon.strokeColor = color; 

问题:在地图上不显示颜色变化。只有在保存并重新加载地图后,才会显示正确的颜色。

对于我使用的多边形:

selectedShape.set('strokeColor', color);

这工作正常。

那么标记或部分刷新是否有类似操作符的集合?

谢谢你的帮助。

最好的祝福,

埃弗特·维森内克

4

2 回答 2

4

我将绑定颜色更改的事件,然后调用marker.setIcon(icon_options)标记以传入新值。

于 2013-08-29T17:25:08.773 回答
2

我认为您需要做的是像这样“刷新”标记:

marker.getIcon().strokeColor = 'green';
marker.setMap(map);

或者你可以这样做:

marker.setIcon({
    path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, 
    strokeColor:'green'
});
于 2013-08-29T17:27:51.063 回答