Карты Google версии 3 Удалить маркеры маршрутов - PullRequest
1 голос
/ 02 декабря 2009

Есть ли способ убрать маркеры, которые нанесены на карте? У меня есть 4 места, которые отображаются на карте. Зеленая стрелка, где находится пользователь, и 3 местоположения, помеченные A, B, C. Если я нажму на одну из них, она проложит маршрут между местоположением пользователя и маркером. Проблема в том, что Google добавляет новый маркер A & B на карту в качестве начала и конца направлений. Теперь у меня есть пара маркеров A и B на карте, и это довольно запутанно.

Спасибо

Ответы [ 6 ]

9 голосов
/ 04 ноября 2010

В DirectionsRendererOptions установите suppressMarkers на true

2 голосов
/ 10 ноября 2011

Это старый пост, но я столкнулся с той же проблемой. У меня есть карта с моими собственными маркерами, я выбираю несколько из них и отправную точку, затем я показываю маршруты с маркерами A, B, C ... Проблема заключалась в том, как удалить маршруты и снова показать мои маркеры.

Вот что мне помогло удалить траектории направления с помощью маркеров (A, B, C и т. Д.).

directionsDisplay.setMap(null);
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(map);
RefreshMarkers(); //your function to draw your markers

directionDisplay объявлено глобально. Это API v3.

1 голос
/ 13 ноября 2010

Нажмите меню, затем слои и в левом нижнем углу нажмите очистить карту. Это должно очистить все на карте.

1 голос
/ 13 января 2010

Не уверен, полезно это или нет. Когда вы создаете новое GDirection и предоставляете ему объект карты, он будет автоматически рисовать ломаную линию на карте, как только будет загружено направление. Это также автоматически добавляет маркеры в начале и в конце пути.

Однако я заметил, что если вы изначально не предоставляете объект карты и вместо этого используете прослушиватель событий 'load', чтобы вручную добавить полилинию на карту, вы получите линию, но не маркеры. 1003 *

//Don't supply a map to GDirections()
var direction = new GDirections(); 

//Make sure {getPolyline:true} is given to the load function
direction.load("here to there", {getPolyline:true});

GEvent.addListener(direction, 
                   "load", 
                   function(){ map.addOverlay(direction.getPolyline()); }
);

Это может быть проще, чем поиск и удаление маркеров, особенно если вы все равно используете прослушиватель событий load.

1 голос
/ 02 декабря 2009

Для каждого маркера, который вы хотите удалить, выполните

marker.setMap(null);

http://code.google.com/apis/maps/documentation/v3/overlays.html#Markers

0 голосов
/ 29 мая 2010

Обычно вы можете просто сделать marker.setMap (null), но поскольку вызов Directions автоматически размещает маркеры A & B на карте, у вас нет прямого доступа к ним, и поэтому вы не можете удалить их способ. * +1001 *

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