web-dev-qa-db-ja.com

GoogleマップAPI v3からルートを削除する

ある場所から別の場所への道順を取得するAPI v3を使用したGoogleマップがあります。アプリはうまく機能しますが、道順を取得するウィンドウは地図上のオーバーレイです。このウィンドウが閉じている場合、地図から方向は削除されますが、他のマーカーは残ります。

私は次を試しました:

$('#content .close').live('click', function() {
$('#content').hide();
directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(map);
return false;
});

これは期待どおりにウィンドウを非表示にしているように見えますが、マップから方向を削除することに関しては何もしません。

どんな助けも大歓迎です。

デイブ。

36
daveredfern

DirectionsRendererのマップバインディングを「null」に変更して、方向オーバーレイを削除できます。

directionDisplay.setMap(null);
51
Josnidhin

これを試すことができ、マップへの参照を失うことはありません

directionDisplay.set('directions', null);
48
Jimmy Collazos

次を使用することもできます:directionsDisplay.setDirections({routes: []});

8
bharat

directionDisplay.setMap(null);を使用すると、マーカーを含むルートレンダラーオーバーレイ全体が削除されます。マーカーを保持したままルートを削除する場合は、setOptionsを使用して、初期化後にsuppressPolylinesのDirectionsRendererのオプション設定を変更できます

directionsDisplay.setOptions({
    suppressPolylines: true
  });

(他の 類似の回答 も参照)

0
user2314737

上記のどれも私にとってはうまくいきませんでした、これは私が必要としたものです:

// Clear past routes
    if (directionsDisplay != null) {
        directionsDisplay.setMap(null);
        directionsDisplay = null;
    }
0
Friendly Code

次のようになります。

directionDisplay.setMap(null);
0
webewitch