現在、Googleマップのマーカーを作成するには、これを実行しています。ループのために、マーカーを閉じるために、私はこれに似た何かを知っていると他の情報ウィンドウを閉じる
function createMarker(posn, title, html) {
var marker = new google.maps.Marker({ position: posn, title: title, draggable: false });
marker['infowindow'] = new google.maps.InfoWindow({ content: html });
infoWindows.push(marker['infowindow']);
google.maps.event.addListener(marker, "click", function() {
for (i = 0; i < infoWindows.length; i++) {
infoWindows[i].close();
}
this['infowindow'].open(map, this);
});
return marker;
}
イム幸せではないが1 refernce使用して行うことができます。
場合(情報ウィンドウ)infowindow.close()を。
私が上記のようなコードを使用している理由は、
markers[myPoint]['infowindow'].open(map, markers[myPoint]);
else、(myPointは数字です)のようなものです。
どのようにしてオープンインフォウィンドウを閉じるためのこのループを避けていいですか?
はバグがあります。それは再び情報ウィンドウを表示しません。 これを修正するには、 を削除します。if(activeInfoWindow == this ['infowindow'] { return;} – nguyencse