Удалить маршрут из Google Map API V3 - PullRequest
35 голосов
/ 13 апреля 2011

У меня есть карта Google, использующая API v3, которая получает маршруты из одного места в другое.Приложение прекрасно работает, но окно, которое получает указания, является наложением на карту.Мне бы хотелось, чтобы при закрытии этого окна направления удалялись с карты, но оставались другие маркеры.

Я пробовал следующее:

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

Это, кажется, скрывает окноожидается, но ничего не делает в отношении удаления направлений с карты.

Любая помощь очень ценится.

Дейв.

Ответы [ 6 ]

50 голосов
/ 13 апреля 2011

Вы можете изменить привязку карты для DirectionsRenderer на "null", чтобы удалить наложение направления

directionDisplay.setMap(null);
47 голосов
/ 08 марта 2013

Вы можете попробовать это, и не потерять ссылку на карту

directionDisplay.set('directions', null);
8 голосов
/ 21 ноября 2016

Вы также можете использовать: directionsDisplay.setDirections({routes: []});

0 голосов
/ 16 июня 2016

Ничего из вышеперечисленного у меня не сработало, вот что мне нужно:

// Clear past routes
    if (directionsDisplay != null) {
        directionsDisplay.setMap(null);
        directionsDisplay = null;
    }
0 голосов
/ 03 мая 2016

Использование directionDisplay.setMap(null); удалит весь оверлей рендеринга направлений, включая маркеры.Если вы просто хотите удалить маршруты, сохраняя маркеры, вы можете использовать setOptions, чтобы изменить настройки параметров DirectionsRenderer для suppressPolylines после инициализации

directionsDisplay.setOptions({
    suppressPolylines: true
  });

(см. Также мой другой аналогичный ответ )

0 голосов
/ 25 августа 2011

Это должно читаться как:

directionDisplay.setMap(null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...