我有一些简单的 Google Maps (API v3) 代码,当单击特定标记并打开信息框时,该代码会将图标更改为橙色。该代码还注意到一个信息框是否已经打开,如果是,则重置该旧信息框上的标记图标。
但是,如果信息框只是关闭,我不知道如何将标记图标重置为默认值。
我只使用一个 InfoBox 并在每次单击标记时填充详细信息:
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
if(previousMarker) {
// if marker icon was changed before, change it back to default
previousMarker.setIcon('/img/location_pin.png');
}
ib.close(); // close infobox that is already open
ib.setOptions(opt[i]); // set new options for the infobox
ib.open(map, this); // open it on this marker
// and change marker color to orange
marker.setIcon('/img/location_pin-orange.png');
previousMarker = marker; // remember marker for next time
map.panTo(markerData[i].latLng);
}
})(marker, i));
当信息框关闭时,我怎样才能让地图上的标记(或者只是previousMarker
,真的)回到默认颜色?