さてさて、私は次のことが起こっていた、本質的...地図上Marker Clustererを使用していたという事実に関連した問題:表中の
- クリックしてアイテムを、
InfoWindow
が
- 地図をパンします
を開きます表示する場所に移動します
InfoWindow
- パンが完了すると、Marker Clustererは(必要に応じて)再描画して、[
InfoWindow
]を強制的に閉じます。
私のソリューションは、テーブル内の項目がクリックされたときに、私は「アイドル」リスナーを経由して完了するためにパンを待って、手動でこの場所にパン、対応Marker's
緯度経度を取得し、完了時(およびということでしたClustererは再描画を行っています)、次にInfoWindow
を開きます。
// get map, marker positions
var mapLatLng = GLOBAL_map.getCenter();
var markerLatLng = GLOBAL_markers[index].getPosition();
// pan the map
if(!markerLatLng.equals(mapLatLng)) {
// map will need to pan
GLOBAL_map.panTo(markerLatLng);
google.maps.event.addListenerOnce(GLOBAL_map, 'idle', function() {
// open InfoWindow
GLOBAL_infowindow.setContent(GLOBAL_markers_content[index]);
GLOBAL_infowindow.open(GLOBAL_map, GLOBAL_markers[index]);
});
} else {
// map won't be panning, which wouldn't trigger 'idle' listener
GLOBAL_infowindow.setContent(GLOBAL_markers_content[index]);
GLOBAL_infowindow.open(GLOBAL_map, GLOBAL_markers[index]);
}
jsfiddleで動作を複製できますか?自動パンとパンを無効にすると、手動で開いていますか? – lashleigh