ユーザーは、場所を選択した場所に応じてマーカーをロードします。新しい場所が選択されると、マーカーはクリアされます。マーカーをクリアしたときに情報ウィンドウを開いていると、マーカーが消えても開いたままになります。データが更新されたときに、開いているインフォウィンドウを閉じたい。
私の実装の詳細:
jquery-ui-mapを使用して、jQueryでGoogleマップの実装を強化しています。
次のコードでマーカーを作成するときにクリックイベントを添付します(参考:特定の詳細をすべて取り出して、一般的なものに置き換えました)。
$('#map-canvas').gmap('addMarker', {
'position' : new google.maps.LatLng(latitude, longitude),
'title' : myTitle,
'icon' : myImage,
'shadow' : myShadowImage
}).click(function() {
$('#map-canvas').gmap('openInfoWindow', {
'content' : displayContent(myObject)
}, this);
});
このオプションopenInfoWindow
は何も返さないため、後で閉じるためにInfoWindowオブジェクトを配列に格納することは、実行可能なオプションのようには見えません。
jquery-ui-mapライブラリを使用してこれを実現する方法を知っている人はいますか?APIドキュメントにcloseInfoWindowがリストされていません。