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);
 });

1 つの方法は、一度に 1 つの強調表示された画像のみがマップ上に存在できるというルールを何らかの形で作成することだと思います。

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 に答える