0

我正在使用 onclick 事件在单击标记图像时更改它,以显示它已突出显示。

当我单击另一个标记时,我希望该标记返回到原始图像,而不是保持突出显示。

这是代码;

 google.maps.event.addListener(marker, 'click', function() {
   marker.setIcon("default_h.png")
    infowindow.open(map, marker);
    document.getElementById("address_box").value = (title + "\n" + address);
 });

我想一种方法是以某种方式创建一个规则,即一次只能在地图上显示一个突出显示的图像。

4

1 回答 1

1

您必须在某处存储对单击标记的引用,然后使用 setIcon。

所以你的代码看起来像这样:

var highlighted;

//create your markers here and assign them event listeners
var markerObject = new google.maps.Marker({});
google.maps.event.addListener(markerObject,'click',function() {
 if(highlighted) {
  highlighted.setIcon(/* original icon */);
 }

 highlighted = markerObject;
 highlighted.setIcon(/* highlighted icon */);

});
于 2013-03-12T12:30:50.097 回答