ある場所から別の場所への道順を取得するAPI v3を使用したGoogleマップがあります。アプリはうまく機能しますが、道順を取得するウィンドウは地図上のオーバーレイです。このウィンドウが閉じている場合、地図から方向は削除されますが、他のマーカーは残ります。
私は次を試しました:
$('#content .close').live('click', function() {
$('#content').hide();
directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(map);
return false;
});
これは期待どおりにウィンドウを非表示にしているように見えますが、マップから方向を削除することに関しては何もしません。
どんな助けも大歓迎です。
デイブ。
DirectionsRendererのマップバインディングを「null」に変更して、方向オーバーレイを削除できます。
directionDisplay.setMap(null);
これを試すことができ、マップへの参照を失うことはありません
directionDisplay.set('directions', null);
次を使用することもできます:directionsDisplay.setDirections({routes: []});
directionDisplay.setMap(null);
を使用すると、マーカーを含むルートレンダラーオーバーレイ全体が削除されます。マーカーを保持したままルートを削除する場合は、setOptions
を使用して、初期化後にsuppressPolylines
のDirectionsRendererのオプション設定を変更できます
directionsDisplay.setOptions({
suppressPolylines: true
});
(他の 類似の回答 も参照)
上記のどれも私にとってはうまくいきませんでした、これは私が必要としたものです:
// Clear past routes
if (directionsDisplay != null) {
directionsDisplay.setMap(null);
directionsDisplay = null;
}
次のようになります。
directionDisplay.setMap(null);