#google-maps #google-maps-api-3 #maps #google-static-maps
#google-карты #google-maps-api-3 #Карты #google-maps-static-api
Вопрос:
У нас есть очень простой пример маршрута перехода на веб-карте Google. Рассмотрим следующую ссылку для примера. Или изображение, приведенное ниже.
Мой вопрос в том, как получить эту форму маршрута с помощью какого-либо Map API (возможно, не Google)? Итак, я пытаюсь создать скрипт, в который я могу вставить множество точек назначения, а на выходе должна быть форма маршрутов перехода. Даже я могу создать форму с помощью OpenCV, все, что мне нужно, это просто эскиз такого маршрута.
- Что я пробовал до сих пор? Для создания миниатюр используется статический API карты Google. Однако, из документации, невозможно создать такое представление маршрутов. Используя
path
поле в статическом API с теми же точками назначения (приведенными в ссылке выше), у нас были бы только соединительные линии. Пример ниже и ссылка на запрос карты.
- Что, если вы разместите свои точки в соответствующем порядке? Позвольте мне объяснить, почему порядок не поможет в этом случае. Проверьте другой пример здесь. Или первое изображение ниже. Теперь давайте перенесем эти точки в API статической карты. И у вас будет второе изображение ниже. Или эта ссылка на запрос API. Так что дело не в порядке, а в поведении (что, очевидно, очень разные приложения).
Комментарии:
1. Что, если вы разместите свои точки в соответствующем порядке?
2. @MrUpsidown Дело не в порядке, а в их поведении. Порядок одинаков на обоих изображениях, но для первого Google Maps выбирает маршруты перехода. Где второй, просто абсолютный путь между ними. Другое дело, это очень сложные формы, отслеживать порядок будет невозможно.
3. В первом примере он переходит от (1) авт. 18 Тафта. к (2) авт. 2-22 Тафта. затем (3) авт. 59 Вудроу. это означает, что путь возвращается на свою собственную дорожку. В примере со статическими картами вы просто используете точки 1, затем 2, затем 3 (это просто путь, а не запрос направления!). Итак, если вам понадобится то же самое, вам понадобятся точки 1, затем 2, затем 1, затем 3 и т.д. или вам нужно изменить порядок точек (2, 1, 3, 4, 5).
4. @MrUpsidown Проверьте мои новые примеры изображений выше. Вам не нужно много, чтобы понять, почему это не работает. Спасибо.
5. Потому что в первом примере, который вы привели, если бы они были расположены в том порядке, который я бы счел подходящим, у вас был бы нарисован тот же путь (более или менее …), поскольку ваш путь довольно прост. Но давайте забудем об этом. Чтобы ответить на ваш вопрос, вы должны запросить Указания с помощью Maps API (Javascript или веб-службы Directions), затем извлечь его путь, а затем запросить, чтобы этот путь был нарисован на Maps Static.
Ответ №1:
Ваш вопрос теперь слишком широк, и таким будет мой ответ, но я резюмирую здесь то, что вы могли бы сделать.
- Запросите свои указания с помощью JS API или Directions API.
- Используйте путевые точки в своем запросе, чтобы указать каждую точку. Предупреждение: действуют ограничения (23 путевые точки начало и пункт назначения).
- В вашем ответе Directions вы можете использовать либо
overview_path
, либоoverview_polyline
, чтобы нарисовать тот же маршрут в Maps Static API. Обратите внимание, что оба являются упрощенными контурами (сглаженными), которые менее точны, чем точная полилиния, которую вы получаете из API. Возможно, этого достаточно для вашего варианта использования. Читайте больше здесь. - В качестве альтернативы, если вам нужны точные координаты полилинии, вам придется извлекать их из каждого DirectionsStep, возвращаемого API.
- Получив свои точки пути (или закодированную полилинию), вы можете запросить свой путь к статическому API Maps (также смотрите о закодированных полилиниях внизу этой страницы).
Надеюсь, это поможет.