Ответ 1
Вы можете изменить привязку карты для DirectionsRenderer к "null", чтобы удалить наложение направления
directionDisplay.setMap(null);
У меня есть карта google с использованием API v3, которая направляет маршруты из одного места в другое. Приложение отлично работает, но окно, которое получает направление, является наложением на карте. Мне бы это понравилось, так как это окно закрыто, направления удаляются с карты, но остаются другие маркеры.
Я пробовал следующее:
$('#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);
Ни одно из вышеперечисленных не работало для меня, это то, что мне нужно:
// Clear past routes
if (directionsDisplay != null) {
directionsDisplay.setMap(null);
directionsDisplay = null;
}
Использование directionDisplay.setMap(null);
приведет к удалению наложения рендеринга всего направления, включая маркеры. Если вы просто хотите удалить маршруты, поддерживающие маркеры, вы можете использовать setOptions
для изменения настроек параметров DirectionsRenderer для suppressPolylines
после инициализации
directionsDisplay.setOptions({
suppressPolylines: true
});
(см. также мой другой похожий ответ)