你的问题是,你会在您的标记2个click
事件和最后一个,标识的颜色设置为蓝色。
你可以点击很多次你想要的东西,最后总是蓝色。
所以,我:
- 去除两个标记
click
事件:marker.addListener('click', function(){})
- 移动在谷歌地图
.setIcon(highlightedMarker)
click
听众
- 添加
infowindow.closeclick
事件:当信息窗口被关闭,事件被触发。
- 添加自定义属性您
infowindow
对象,它是对象:infoWindow.marker = marker;
注意:在此之前,新属性设置为信息窗口对象,检查它是否不为空。如果不是,实际上是强调了标记:设置默认颜色
if (infoWindow.marker) {
infoWindow.marker.setIcon(defaultMarker);
}
- 变化由一个默认的标记颜色在
infowindow.closeclick
事件:
google.maps.event.addListener(marker,'click', (function(marker, location){
return function() {
console.log("that " + location);
streetViewService.getPanoramaByLocation(marker.position, streetRadius, getStreetData);
// Infowindow
// Marker
if (infoWindow.marker) {
infoWindow.marker.setIcon(defaultMarker);
}
infoWindow.marker = marker;
// Open
infoWindow.open(map, marker);
infoWindow.setContent("<div>" + marker.title + "</div><div id='pano'></div><div><a href=" + location.url + ">"+ location.url +"</a></div>");
// Set the marker color
}
})(marker, locationArray[i]));
google.maps.event.addListener(infoWindow,'closeclick',function(){
this.marker.setIcon(defaultMarker);
});
Here the JSFiddle
谢谢,但即时通讯也试图让它如此,如果你点击另一个标记它,前一个标记返回到默认颜色,我会实现这个在同一个添加侦听器? – Jcook894
嗯,我很确定'closeclick'事件被触发,但没有。我检查 – Robiseb
好吧谢谢。 – Jcook894