Baidu地図APIで指定されたオーバーレイをクリアする方法

小云云
リリース: 2018-01-31 09:43:42
オリジナル
2005 人が閲覧しました

この記事では、Baidu Maps API に基づいて指定されたオーバーレイ (Overlay) をクリアする方法を主に共有します。これは良い参考値であり、皆様のお役に立てれば幸いです。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。

最近、Baidu Map API を使用したプロジェクトに取り組んでいたのですが、地図上にマーカーとポリラインを同時に表示する必要があり、ポリラインはクリックに基づいて表示または消去する必要がありました。そのため、問題が発生しました。指定されたオーバーレイをクリアする方法について、いろいろ調べても完璧な解決策が見つからなかったので、私なりの考えでこの問題を解決する方法を見つけたので、皆さんと共有するために投稿しました。さて、本題に入りましょう:

オーバーレイをクリアするには 2 つのメソッドがあります。map.removeOverlay() または map.clearOverlays() メソッドは一度にすべてのオーバーレイを削除し、removeOverlay() メソッドは指定されたオーバーレイを削除します。明らかに、一度に 1 つのクラスのポリライン オーバーレイを削除したいのですが、どちらの方法も機能しません。

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()
ログイン後にコピー

none メソッドを使用してクリアの禁止を解除できます。 map.clearOverlays メソッドでオーバーレイをクリアできるようにします。 (1.1 以降追加)

ただし、各マーカーは復元する必要があるため、それを通過する必要があります:

var allOverlay = map.getOverlays();
      for (var i = 0; i < allOverlay.length; i++) {
        allOverlay[i].enableMassClear();
      }
ログイン後にコピー

これにより、すべてのオーバーレイのクリア可能な操作が復元されます。

簡単な 3 ステップのセットアップで、指定されたタイプのカバーを効率的に操作できます。

関連する推奨事項:

Drupal 7 オーバーレイを拡張する方法の詳細な説明

jquery tools シリーズ オーバーレイ learning_jquery

jquery_jquery の下にオーバーレイ マスク レイヤー コードを実装する

以上がBaidu地図APIで指定されたオーバーレイをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!