更改标记图标的笔触颜色

时间:2013-08-29 13:52:41

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

我正在以下列方式使用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);

这很好用。

那么是否有标记的运算符或部分刷新?

感谢您的帮助。

致以最诚挚的问候,

Evert Wiesenekker

2 个答案:

答案 0 :(得分:2)

我会绑定颜色发生变化的事件,然后在标记上调用marker.setIcon(icon_options)以传递新值。

答案 1 :(得分:1)

我认为你需要做的是'刷新'这样的标记:

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

或者你可以这样做:

marker.setIcon({
    path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, 
    strokeColor:'green'
});