Javascript 信息盒关闭时重置pin图形
我有一些简单的GoogleMaps(APIv3)代码,当单击特定标记并打开信息框时,该代码会将图标更改为橙色。代码还会注意到信息框是否已打开,如果已打开,则会重置旧信息框上的标记图标 但是,如果信息框只是关闭,我不知道如何将标记图标重置回默认值 我只使用一个信息框,并在每次单击标记时用详细信息填充它:Javascript 信息盒关闭时重置pin图形,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一些简单的GoogleMaps(APIv3)代码,当单击特定标记并打开信息框时,该代码会将图标更改为橙色。代码还会注意到信息框是否已打开,如果已打开,则会重置旧信息框上的标记图标 但是,如果信息框只是关闭,我不知道如何将标记图标重置回默认值 我只使用一个信息框,并在每次单击标记时用详细信息填充它: google.maps.event.addListener(marker, 'click', (function(marker, i) { return function() {
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
)返回默认颜色?在信息窗口上的closeclick
事件的回调中重置标记选项
google.maps.event.addListener(ib, 'closeclick', function(){
// add code to reset marker options
});
有关与InfoWindow对象关联的所有事件,请参阅
如果您使用的是InfoBox库,则事件仍然相同,因此可以应用相同的事件侦听器:谢谢。我添加了一个循环来遍历我所有的标记并重置它们的图标,这就成功了。