Я пытаюсь добавить метку для каждой путевой точки вдоль маршрута, но я не совсем уверен, как я должен ее подходить. Проведя некоторые исследования, я понимаю, что вы можете добавить пользовательский пинц с меткой, но это то, когда я бросаю каждый вывод вручную. Как я могу это сделать для направления?Ярлык для каждой контактной точки в API карт Google
ответ
Если вы хотите получить доступ к маркерам из запроса DirectionsRenderer, который требует взлома, потому что нет официального способа сделать это с помощью google map api.
Существует обходной путь, вот пример, который я сделал: https://jsfiddle.net/TomKarachristos/cna78jbw/
google.maps.event.addListener(directionsDisplay, 'directions_changed',
function() {
var self = this;
markersArray = []; //empty the array
setTimeout(function() { //wait until markers render
for (var k in self) { //search everything in directionsDisplay
if (typeof self[k].markers != 'undefined') { // its that the markers?
var markers = self[k].markers;
for (var i = 0; i < markers.length; ++i) {
markersArray.push(markers[i]);
markersArray[i].setLabel({ //lets change the label!
color: "white",
fontSize: "16px",
text: i.toString()
});
}
}
}
console.log(markersArray); // now markersArray have all the markers
}, 0);
});
Но это не является хорошим решением, если вы хотите иметь полный контроль над маркерами. Если подавить маркера у вас есть много возможностей, вы можете использовать маркера из библиотек, как markerLabel или RichMarker (используйте Dóm элемент для маркеров!)
Вот пример с markerLabel, щелкните в любом месте карты и маркера появляется с метку с расстоянием от центрального маркера. https://jsfiddle.net/TomKarachristos/x1zg503m/
[...]
markerArray[1] = new MarkerWithLabel({
position: location,
map: map,
animation: google.maps.Animation.DROP, //just for fun
labelContent: "",
labelClass: "marker-label"
});
[...]
if (status === google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
route = directionsDisplay.getDirections().routes[0];
markerArray[1].set('labelContent', route.legs[0].distance.value/1000)
[...]
более легко сделать, более приятно видеть, больше удовольствия!
- 1. Ярлык API Карт Google
- 2. Highcharts - ярлык xAxis для каждой точки
- 3. API Карт Google. Как включить «Точки интереса»?
- 4. - ярлык, подходящий для карт?
- 5. ярлык файла kml в API Карт Google v3
- 6. Ограничения API Карт Google
- 7. API API Карт Google
- 8. Изменение API Карт Google?
- 9. GPS в API Карт Google
- 10. GeoLocation + API Карт Google?
- 11. API Карт Google RefererNotAllowedError
- 12. API карт и API Карт Google Amazon
- 13. Как захватить точки местоположения многоугольника с помощью API Карт Google?
- 14. API Google для закрытых карт
- 15. API Карт Google для местоположения
- 16. Круги в API Карт Google
- 17. Создать ярлык в Картах Google Карт
- 18. API Карт Google - поиск путевой точки, которая вызвала ошибку
- 19. Ограничение маркера API Карт Google
- 20. Вопросы API для API Карт Google
- 21. API-интерфейсы API Карт Google
- 22. Ошибка API API Карт Google
- 23. Узлы API Карт Google
- 24. Ограничения API Карт Google
- 25. API Карт Google xCode
- 26. API Карт Google + JQuery
- 27. Запрет API Карт Google?
- 28. API Карт Google Marker
- 29. API Карт Google
- 30. API Карт Google OVER_QUERY_LIMIT
[пользовательские маркеры по результатам запроса (несколько) направлений (ов)] (http://www.geocodezip.com/v3_directions_multipleWayPts_CustomMrkrsB.html) – geocodezip
я на самом деле в конечном итоге подавляя маркеры и добавить их вручную, так как есть никоим образом не получить ссылку на булавки, сброшенные службой направления. – juminoz
Вот как работает связанный пример. – geocodezip