ホームページ >ウェブフロントエンド >jsチュートリアル >Google Maps API v3 からすべてのマーカーをクリアする方法?

Google Maps API v3 からすべてのマーカーをクリアする方法?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-15 11:58:03344ブラウズ

How to Clear All Markers from Google Maps API v3?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。