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);
});
1つの方法は、一度にマップ上に強調表示された画像が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 */);
});