Подключение заданных мест с помощью google maps api

Допустим, пользователь хочет совершить поездку по США. Когда я перечисляю места, которые я хочу посетить, с указанием пунктов отправления и назначения, я хочу, чтобы API Google прокладывал маршрут по кратчайшему пути.

Например: Мой пункт отправления: Лас-Вегас, пункт назначения: Нью-Йорк. И места, которые я хочу посетить, это Техас, Юта и Огайо. Поэтому мне нужно, чтобы Google подключил кратчайшее расстояние для посещения таких мест, как Лас-Вегас -> Юта -> Техас -> Огайо -> Нью-Йорк.

Возможно ли это с помощью Google Maps API/API Directions/API Directions?

Я просмотрел документацию, и в ней есть документация для соединения пункта отправления и назначения, а не список мест, как указано выше.


person SO-user    schedule 19.12.2016    source источник
comment
Сколько путевых точек вы хотите добавить? Будете ли вы добавлять их в правильной последовательности или ожидаете, что API разместит эти путевые точки в разумной последовательности?   -  person MrUpsidown    schedule 19.12.2016
comment
путевых точек до 15 и не по порядку. Я хочу, чтобы путевые точки были в порядке.   -  person SO-user    schedule 19.12.2016
comment
Теперь я вижу, что в документации упоминается, что вы ограничены 23 путевыми точками. Раньше было 8 (если я правильно помню), поэтому мне интересно, изменилось ли это или это опечатка в документации... Для проверки. developers.google.com/maps/documentation/javascript/   -  person MrUpsidown    schedule 19.12.2016


Ответы (1)


Вы можете использовать путевые точки и параметр optimizeWaypoints для отображения маршрута, включающего ваши путевые точки и располагающего их в более эффективном порядке.

По умолчанию служба Directions рассчитывает маршрут через предоставленные путевые точки в заданном порядке. При желании вы можете передать optimizeWaypoints: true в DirectionsRequest, чтобы позволить службе Directions оптимизировать предоставленный маршрут, переставляя путевые точки в более эффективном порядке.

https://developers.google.com/maps/documentation/javascript/directions#Waypoints

Ниже приведена скрипка, которая поможет вам начать работу с путевыми точками.

демонстрация JSFiddle

person MrUpsidown    schedule 19.12.2016
comment
Измените строку 7 на suppressMarkers: false. И, может быть, быстрое спасибо за помощь, прежде чем жаловаться на то, что вам не нравится? Это просто скрипка, чтобы помочь вам начать работу. Это не должно быть чем-то, что вы можете скопировать/вставить в свой собственный код как есть. - person MrUpsidown; 19.12.2016
comment
да. Извините за это. Я торопился сделать это. Большое спасибо. - person SO-user; 19.12.2016
comment
Рад, что это помогло! - person MrUpsidown; 19.12.2016