私たちの多くはInfoWindow
、マーカーがクリックされたときに開くコードを書いていることを知っています。ただし、InfoWindow
右上のXがクリックされるまではそのままになります。つまり、関連付けられたMarker
可視性をに設定するfalse
と、本質的に孤立したものが作成されますInfoWindow
。InfoWindow
また、マップ上に同時に複数のインスタンスが表示される可能性があります。ユーザーが閉じたものをクリックするだけで十分簡単だと思いますが、非表示にすると、関連するを非表示にする必要InfoWindow
があるように感じます。Marker
InfoWindow
このシナリオに対処するために、次のようなコードを書き始めました。
google.maps.event.addListener( marker, "click", function() {
var bubble = new google.maps.InfoWindow({
content: buildBubbleContent( param1, param2 )
});
bubble.open( map, marker );
//pretty standard stuff to here, but the next line is new (for me):
google.maps.event.addListenerOnce( marker, "visible_changed", function() {
bubble.close();
});
});
これは他のみんながしていることですか?それはListenBackと呼ばれるべきデザインパターンのように感じます。Googleマップのドキュメントで対処されている問題を見たことがありません。InfoWindow
これを自動的に処理するには、より単純なメカニズムが組み込まれている必要があると思わざるを得ません。私がちょうど逃したこれを行うための標準的な方法はありますか?