GoogleマップAPI V3-クラスターアイコンを削除する方法は?
-
27-09-2019 - |
質問
すべてのクラスターアイコン(クラスターマーカー)をマップから削除するにはどうすればよいですか?次のようなアドバイスで試してみました:
GoogleマップAPI V3:すべてのマーカーを削除する方法は?
...しかし、それは機能しませんでした。
それを達成する方法を教えてください。
前もって感謝します!
更新(2010-11-23)
マーカーは配列に保存されます
var markersClust = Array();
...そして(PHPとの組み合わせ)と追加されます:
markersClust.push(marker_<?php echo $team["Team"]["id"]; ?>);
var markerClusterer = new MarkerClusterer(MyMap.map, markersClust, clusterOptions);
そして、それは正常に機能します。
しかし、私は彼らを地図から削除することはできません、そしてそれは私を駆り立てます...
マーカーを削除しようとしました(そして私はしました)
for ( var i=0; i < markersClust.length; i++) {
markersClust[i].setMap(null);
}
markersClust = [];
ただし、クラスターアイコンはマップ上にスティルされています。
また、私は次のようなことを試しました:
markerClusterer.clearMarkers();
そしてように
MyMap.preventDefault();
MyMap.stopPropagation();
MyMap.clearMarkers();
しかし、繰り返しますが、クラスターのアイコンはまだ地図上にあります。
マップからそれらのクラスターアイコンを削除するために他に何をしなければなりませんか?助けてください...
解決
各マーカーを反復し、そのマーカーのマップをnullに設定します。これにより、マップからマーカーが削除されます。
他のヒント
これがそれを行う正しい方法です:
// Unset all markers
var i = 0, l = markers.length;
for (i; i<l; i++) {
markers[i].setMap(null)
}
markers = [];
// Clears all clusters and markers from the clusterer.
markerClusterer.clearMarkers();
デモ: http://jsfiddle.net/hoffz/gezxx/
ドキュメンテーション: https://googlemaps.github.io/js-marker-clusterer/docs/reference.html
私も同じ問題を抱えていました。初期化中にMarkerClustererを1回だけ宣言することで、それを修正しました。
markerCluster = new MarkerClusterer(map);
これが私がすることです。私は多くのマーカーを持っていますが、ヒートマップに切り替えると、すべてのマーカーとクラスターを削除したいと思います。マーカーを作成すると、グローバルマーカーアレイに追加します
markers.push(marker);
このようなクラスターを定義します
markerCluster = new MarkerClusterer(map, markers);
markerCluster.setIgnoreHidden(true);
ボタン]をクリックしてヒートマップを表示します
$.each(markers, function(k, v){
v.setVisible(false);
});
markerCluster.repaint();
いつ repaint()
無視して隠されて呼ばれます。それはすべてのクラスターアイコンを隠します。