Google Maps API V3のMarkerClustererライブラリを使用して、近くのマーカーを1つのマーカーにグループ化します。ユーザーがクラスターマーカーをクリックすると、そのクラスターマーカーの横にdivが表示されます。ここで、クラスターマーカーをクリックした後、ポップアップしたdivを閉じるために、彼がマップをクリックできるようにします。
問題:マップにを追加した後google.maps.event.addListener(map, 'click', function(){})
、ユーザーがクラスターマーカーをクリックしてポップアップdivを開いても、何も起こりません!! クラスターマーカーのクリックイベントによってdivがポップアップしたと思いますが、クリックイベントもマップに伝播し、マップのクリックリスナーがポップアップを閉じます。
jQueryを使用できればいいのですが、オブジェクトevent.stopPropagation()
はどこで入手できますか?event
どうすればこの問題を解決できますか?クリックがクラスターマーカーを介してマップに伝播するのを防ぐにはどうすればよいですか?うまくいけば、ソリューションはクロスブラウザ互換です。
JSコード
clusterclickListener = google.maps.event.addListener(mc, "clusterclick", function (cluster) {
$('#content_container').show();
});
google.maps.event.addListener(map, 'click', function() {
$('#content_container').hide();
});