Google Maps API v3 からすべてのマーカーを削除する
Google Maps API v3 でのすべてのマーカーのクリアは、v2 で使用されているアプローチとは若干異なります。 。 map.clearOverlays() は使用できなくなりましたが、次の手順は同じ効果を達成する効率的な方法を提供します。
1.グローバル マーカー配列を宣言します
var markersArray = [];
この配列には、マップ上のすべてのマーカーへの参照が保存されます。
2.クリア オーバーレイ関数を定義する
クリア オーバーレイ関数を定義するには 2 つのオプションがあります:
オプション A:
function clearOverlays() { for (var i = 0; i < markersArray.length; i++ ) { markersArray[i].setMap(null); } markersArray.length = 0; }
オプション B (Google Maps API の拡張):
google.maps.Map.prototype.clearOverlays = function() { for (var i = 0; i < markersArray.length; i++ ) { markersArray[i].setMap(null); } markersArray.length = 0; }
3.マーカーを配列に追加します
clearOverlays() 関数を呼び出す前に、各マーカーを markersArray:
markersArray.push(marker); google.maps.event.addListener(marker,"click",function(){});
にプッシュします。オーバーレイのクリア関数を呼び出します
clearOverlays() を呼び出します。またはmap.clearOverlays();必要に応じて関数を使用して、マップからすべてのマーカーを削除します。この関数は、markersArray を反復処理し、各マーカーのマップ プロパティを null に設定し、配列を空にします。
以上がGoogle Maps API v3 からすべてのマーカーをクリアする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。