Удалить направления не работает

Мне нужна ссылка javascript, которая удалит маршруты с моей карты.

В другом месте на этом форуме Удалить маршруты из google map api v3 кто-то спросил аналогичный вопрос и было решение, но решение не работает для меня. Исходя из этого, я пробовал:

 function clearDirections() {
directionDisplay = new google.maps.DirectionsRenderer();
directionDisplay.suppressMarkers = true;
directionDisplay.setMap(null);
return false;
 }

Что я делаю неправильно?


person webewitch    schedule 13.03.2012    source источник


Ответы (1)


Хм, эта функция создает новый рендерер, а затем не отображает его на карте. Т.е ничего не делает.

Вам нужно сохранить ссылку на исходное отображение маршрутов, чтобы вы могли использовать setMap (null), который удалит его с карты.

person barryhunter    schedule 13.03.2012
comment
Извините, но я не могу понять, как это сделать. Моя карта основана на примере Google: code.google. com/apis/maps/documentation/javascript/examples/ - person webewitch; 13.03.2012
comment
Если дадите ссылку на карту, может кто поможет. В этом примере directionDisplay уже является глобальной переменной, хотя здесь есть опечатка, так как она использует directionDisplay позже. - person barryhunter; 13.03.2012
comment
Великолепно! Я подражал опечатке. Я изменил его на обычное directionDisplay, после чего эта функция помогла: 'function clearDirections() { document.getElementById(directionsPanel).innerHTML =; направлениеDisplay.setMap(null); вернуть ложь; }' Спасибо! - person webewitch; 13.03.2012
comment
ой . У меня все еще остались пользовательские маркеры. Окончательный код: ' function clearDirections() { if (markerArray) { for (var i = 0; i ‹ markerArray.length; i++) { markerArray[i].setMap(null); } } document.getElementById(directionsPanel).innerHTML =; направлениеDisplay.setMap(null); вернуть ложь; }' - person webewitch; 13.03.2012