ここで、Baidu Maps API に基づいて指定されたオーバーレイをクリアする方法を共有します。これは優れた参考値であり、皆様のお役に立てれば幸いです。
最近、Baidu Map API を使用したプロジェクトに取り組んでいたのですが、地図上にマーカーとポリラインを同時に表示する必要があり、ポリラインはクリックに基づいて表示または消去する必要がありました。指定されたオーバーレイをクリアする いろいろ調べても完璧な解決策が見つからなかったので、私なりの考えでこの問題を解決する方法を見つけたので、皆さんと共有するために投稿しました。さて、本題に入りましょう:
オーバーレイをクリアするには 2 つの方法があります: map.removeOverlay() または map.clearOverlays() メソッドはすべてのオーバーレイを一度に削除し、removeOverlay() メソッドは削除します。指定されたオーバーレイ、明らかに一度にポリライン オーバーレイのクラスを削除したいのですが、どちらの方法も機能しません。
Baidu デモ (http://developer.baidu.com/map/jsdemo.htm#c1_17) には、次のような RemoveOverlay() の例があります。
function deletePoint(){ var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length -1; i++){ if(allOverlay[i].getLabel().content == "我是id=1"){ map.removeOverlay(allOverlay[i]); return false; } } }
は、すべてのオーバーレイを走査することによって、削除するオーバーレイをフィルター処理します。
カバーの種類を削除するには、カバーを追加するときに制限を設定できます。
ステップ 1: カバーを追加するときに、削除する必要のないカバーに対して disableMassClear() を設定します。は次のとおりです
disableMassClear()
none は、map.clearOverlays メソッドでオーバーレイをクリアすることを禁止します。 (1.1 以降追加)
ここではマーカーを削除する必要がないので、設定は次のとおりです:
marker.disableMassClear();
ステップ 2: クリアするオーバーレイをクリアするここでは、ポリラインをクリアせずにすべてのポリラインをクリアする必要があります。これで、マーカーを直接使用できるようになります
map.clearOverlays();
この方法で、すべてのポリラインを簡単にクリアしてマーカーを保持できます
ステップ 3: 後でマーカーを削除する必要がある場合は、enableMassClear() メソッドを使用できます。禁止をキャンセルするには Clear;
enableMassClear()
none では、map.clearOverlays メソッドでオーバーレイをクリアできます。 (1.1 以降追加)
ただし、各マーカーは復元する必要があるため、それを通過する必要があります:
var allOverlay = map.getOverlays(); for (var i = 0; i < allOverlay.length; i++) { allOverlay[i].enableMassClear(); }
これにより、すべてのオーバーレイのクリア可能な操作が復元されます。
簡単な 3 ステップのセットアップで、指定されたタイプのカバーを効率的に操作できます。
上記は私があなたのためにまとめたものです。
関連記事:
Ajaxフロントエンドおよびバックエンドのクロスドメインリクエストを実装する方法
クロスドメインコンポーネントをサポートするためにAjaxをカスタマイズする(詳細なチュートリアル)
取得する検証コードを実装する方法WeChat アプレットによるカウントダウン効果
以上がBaidu Maps API を使用して指定されたオーバーレイをクリアするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。