Подтвердить что ты не робот

Удалить маршруты из google map api v3

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

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

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

Кажется, что окно скрыто, как ожидалось, но не делает ничего общего с удалением направлений с карты.

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

Дэйв.

4b9b3361

Ответ 1

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

directionDisplay.setMap(null);

Ответ 2

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

directionDisplay.set('directions', null);

Ответ 3

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

Ответ 4

Это должно выглядеть так:

directionDisplay.setMap(null);

Ответ 5

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

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

Ответ 6

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

directionsDisplay.setOptions({
    suppressPolylines: true
  });

(см. также мой другой похожий ответ)