Примеры маршрутов

Разработчики из Европейской экономической зоны (ЕЭЗ)

Этот продукт имеет устаревший статус. С октября 2026 г. Directions API (устаревшая версия) нельзя будет включить для новых облачных проектов Google Cloud. Существующие проекты по-прежнему полностью поддерживаются. Чтобы получить доступ к новым функциям и повысить производительность, перейдите на Routes API.

Примеры запросов

Следующий запрос возвращает маршрут от Торонто (Онтарио) до Монреаля (Квебек).

URL

https://maps.googleapis.com/maps/api/directions/json?destination=Montreal
  &origin=Toronto
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&key=YOUR_API_KEY'

Изменив параметры mode и avoid, можно получить маршрут для велосипедной прогулки по живописным местам в объезд крупных автомагистралей.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?avoid=highways
  &destination=Montreal
  &mode=bicycling
  &origin=Toronto
  &key=YOUR_API_KEYYOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&avoid=highways&mode=bicycling&key=YOUR_API_KEY'YOUR_API_KEY'

В следующем запросе выполняется поиск маршрута на общественном транспорте из Бруклина (Нью-Йорк) в Куинс (Нью-Йорк). В запросе не указано значение departure_time, поэтому время отправления по умолчанию соответствует текущему времени:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Queens
  &mode=transit
  &origin=Brooklyn
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&keyYOUR_API_KEY'

В следующем запросе указано конкретное время отправления.

Примечание. В этом примере время отправления указано как 30 июля 2012 г. в 09:45. Чтобы избежать ошибки, перед отправкой запроса необходимо изменить параметр на время в будущем.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?departure_time=1343641500
  &destination=Queens
  &mode=transit
  &origin=Brooklyn
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Brooklyn&destination=Queens&mode=transit&departure_time=1343641500&key=YOUR_API_KEY'

В следующем запросе используются коды Plus Code, чтобы получить маршрут от H8MW+WP до GCG2+3M в Калькутте (Индия).

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=GCG2%2B3M%20Kolkata%20India
  &origin=H8MW%2BWP%20Kolkata%20India
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=H8MW%2BWP%20Kolkata%20India&destination=GCG2%2B3M%20Kolkata%20India&key=YOUR_API_KEY'

Следующий запрос возвращает маршрут из Глазго (Великобритания) в Перт (Великобритания) с использованием идентификаторов мест.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y
  &origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE
  &keyYOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=place_id%3AChIJ685WIFYViEgRHlHvBbiD5nE&destination=place_id%3AChIJA01I-8YVhkgRGJb0fW4UX7Y&key=YOUR_API_KEY'

Способы передвижения

При расчете маршрутов можно указать желаемый способ передвижения (mode). По умолчанию маршруты рассчитываются как driving. Поддерживаются следующие значения переменной:

  • driving (по умолчанию) – запрашивает стандартный маршрут для автомобиля.
  • walking – запрашивает пеший маршрут по пешеходным дорожкам и тротуарам (в регионах, где это возможно).
  • bicycling запрашивает велосипедный маршрут по велосипедным дорожкам и предпочтительным улицам (где это возможно).
  • transit – запрашивает маршрут на общественном транспорте (в регионах, где это возможно). Если вы выбрали режим transit, то можете указать departure_time или arrival_time. Если не указано ни одно из значений, то для departure_time по умолчанию используется текущее время (то есть время отправления по умолчанию равно текущему времени). Вы также можете добавить transit_mode и/или transit_routing_preference.

Примечание. Пешеходные и велосипедные маршруты могут не содержать четко определенных пешеходных или велосипедных дорожек, поэтому возвращаемый результат может содержать предупреждения (warnings), которые нужно показывать пользователю.

Информация о пробках

Информация о загруженности дорог считается используемой, когда соблюдаются все следующие условия (именно они позволяют получить поле duration_in_traffic в ответе от Directions):

  • Параметр mode для способа передвижения имеет значение driving или не указан (driving является значением по умолчанию).
  • Запрос содержит допустимое значение параметра departure_time. Для departure_time можно задать текущее время или произвольное время в будущем. Время в прошлом указать нельзя.
  • Запрос не содержит промежуточных путевых точек для остановок. Если запрос содержит путевые точки, добавьте к каждой из них префикс via:, чтобы построить по ним маршрут без остановок. Пример:
    &waypoints=via:San Francisco|via:Mountain View|...

При необходимости вы можете включить в запрос параметр traffic_model, чтобы указать, какие предположения следует использовать при расчете времени в пути с учетом загруженности дорог.

Следующий URL инициирует запрос маршрута из Бостона (Массачусетс) в Конкорд (Массачусетс) через Чарльзтаун и Лексингтон. Запрос включает время отправления и соответствует всем требованиям для возврата поля duration_in_traffic в ответе Directions API.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?departure_time=now
  &destination=Concord%2C%20MA
  &origin=Boston%2C%20MA
  &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&departure_time=now&key=YOUR_API_KEY'

Путевые точки

При расчете маршрутов с помощью Directions API (Legacy) можно указать путевые точки, чтобы маршрут проходил через них или включал остановки в промежуточных пунктах. Путевые точки можно добавлять в маршруты для автомобилей, пешеходов и велосипедистов, но не в маршруты на общественном транспорте.

Укажите местоположения в параметре waypoints.

Вы можете указать одно или несколько местоположений, разделенных вертикальной чертой (| или %7C), в виде идентификатора места, адреса или координат широты и долготы. По умолчанию маршрут прокладывается через путевые точки в том порядке, в котором они указаны. Приоритет при обработке значения путевой точки: идентификатор места, координаты широты и долготы, адрес.

  • Если вы передаете идентификатор места, перед ним нужно указать place_id:. Идентификаторы мест можно получить от Geocoding API и Places API (включая автозаполнение мест). Пример использования идентификаторов мест из сервиса автозаполнения мест можно найти в документе Автозаполнение мест и маршруты. Подробнее об идентификаторах мест…

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

  • Если вы передаете координаты широты и долготы, значения отправляются непосредственно на сервер внешнего интерфейса для расчета маршрутов без геокодирования. Точки привязываются к дорогам, и точность может быть недостаточной для вашего приложения. Используйте координаты, если вы уверены, что значения точно указывают точки, необходимые вашему приложению для маршрутизации, без учета возможных точек доступа или дополнительных сведений о геокодировании. Убедитесь, что значения широты и долготы разделены запятой (%2C), а не пробелом (%20).
  • Если вы передадите адрес, сервис Directions выполнит геокодирование строки и преобразует ее в координаты широты и долготы, чтобы рассчитать маршрут. Если значение адреса неоднозначно, может быть выполнен поиск, чтобы отличить его от похожих адресов. Например, "1-я улица" может быть полным значением или частью значения "1-я улица, СВ" или "1-я улица, ЮВ". Этот результат может отличаться от возвращаемого Geocoding API. Использование идентификаторов мест позволяет избежать возможных ошибок. Подробнее об устранении неполадок с результатами запроса маршрута…

Вы также можете указать закодированный набор точек, используя алгоритм кодированной ломаной линии. Закодированный набор полезен при большом количестве путевых точек, поскольку URL-адрес значительно короче. Для всех веб-сервисов действует ограничение на длину URL – 16 384 символа.

  • Перед закодированной ломаной линией необходимо указать префикс enc:, а после нее – двоеточие (:). Пример: waypoints=enc:gfo}EtohhU:.
  • Вы также можете включить несколько закодированных ломаных линий, разделенных вертикальной чертой (|). Пример: waypoints=via:enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:| via:enc:udymA{~bxM:.

Следующий URL-адрес инициирует запрос маршрута между Бостоном и Конкордом (штат Массачусетс) с остановками в Чарльстауне и Лексингтоне (в указанном порядке). В примере используются адреса:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Concord%2C%20MA
  &origin=Boston%2C%20MA
  &waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=via%3ACharlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'

Как влиять на маршруты с помощью остановок и транзитных точек

Для каждой путевой точки в запросе в ответ добавляется запись в массив legs с информацией об остановках на этом участке маршрута.

Если вы хотите повлиять на маршрут с помощью путевых точек, не добавляя остановку, добавьте к путевой точке префикс via:. Путевые точки с префиксом via: не добавляются в массив legs, но маршрут будет проходить через них.

В следующем URL предыдущий запрос изменен так, что маршрут проходит через Лексингтон без остановки:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Concord%2C%20MA
  &origin=Boston%2C%20MA
  &waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Boston%2C%20MA&destination=Concord%2C%20MA&waypoints=Charlestown%2CMA%7Cvia%3ALexington%2CMA&key=YOUR_API_KEY'

Префикс via: наиболее эффективен при создании маршрутов в ответ на перетаскивание пользователем путевых точек на карте. Это позволяет пользователю увидеть, как может выглядеть окончательный маршрут в режиме реального времени, и помогает убедиться, что путевые точки размещены в местах, доступных для Directions API (Legacy).

Следующий URL-адрес запрашивает промежуточные точки, используя координаты широты и долготы:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Perth%2C%20AU
  &origin=Sydney%2C%20AU
  &waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3A-37.81223%2C144.96254%7Cvia%3A-34.92788%2C138.60008&key=YOUR_API_KEY'

Ниже приведен тот же запрос с использованием кодированной ломаной линии:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Perth%2C%20AU
  &origin=Sydney%2C%20AU
  &waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=via%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'

Обратите внимание, что вы можете свободно комбинировать спецификатор via: с модификаторами местоположения. Пример:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Perth%2C%20AU
  &origin=Sydney%2C%20AU
  &waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Sydney%2C%20AU&destination=Perth%2C%20AU&waypoints=side_of_road%3Avia%3Aenc%3AlexeF%7B~wsZejrPjtye%40%3A&key=YOUR_API_KEY'

Оптимизация промежуточных точек

По умолчанию маршрут прокладывается через путевые точки в том порядке, в котором они указаны. Также вы можете использовать параметр optimize:true в качестве первого аргумента в запросе waypoints, чтобы сервис Directions мог оптимизировать маршрут, поменяв очередность путевых точек. (Эта оптимизация является практическим примером решения задачи коммивояжера.) Время в пути является главным критерием оптимизации, но могут учитываться также расстояние, количество поворотов и прочие факторы. Для оптимизации маршрута сервисом Directions все путевые точки должны быть остановками.

Если дать указание сервису Directions оптимизировать порядок путевых точек, их последовательность будет показана в поле waypoint_order объекта routes. Поле waypoint_order возвращает значения, отсчет которых начинается с нуля.

В следующем примере рассчитывается автомобильный маршрут из Аделаиды (Южная Австралия) в каждый из основных винодельческих регионов Южной Австралии с использованием оптимизации маршрута.

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Adelaide%2C%20SA
  &origin=Adelaide%2C%20SA
  &waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Adelaide%2C%20SA&destination=Adelaide%2C%20SA&waypoints=optimize%3Atrue%7CBarossa%20Valley%2C%20SA%7CClare%2C%20SA%7CConnawarra%2C%20SA%7CMcLaren%20Vale%2C%20SA&key=YOUR_API_KEY'

При проверке рассчитанного маршрута будет видно, что путевые точки используются в следующем порядке:

"waypoint_order": [ 3, 2, 0, 1 ]

Ограничения

При вычислении маршрутов могут действовать определенные ограничения. Ограничения указываются с помощью параметра avoid и аргумента, который определяет, чего нужно избегать. Поддерживаются следующие ограничения:

  • avoid=tolls
  • avoid=highways
  • avoid=ferries

Чтобы построить маршрут без платных дорог, автомагистралей и паромов, передайте в параметр avoid все ограничения. Пример: avoid=tolls|highways|ferries.

Примечание. Добавление ограничений не исключает маршруты, включающие ограниченную функцию, а смещает результат в сторону более благоприятных маршрутов.

Системы единиц

Результаты маршрута содержат поля text в полях distance, которые могут быть показаны пользователю для указания расстояния определенного "шага" маршрута. По умолчанию в этом тексте используется система единиц, применяемая в стране или регионе начальной точки.

Например, маршрут от "Чикаго, Иллинойс" до "Торонто, Онтарио" отображает результаты в милях, а обратный маршрут – в километрах. Единицы измерения можно переопределить, передав в параметре units запроса одно из следующих значений:

  • metric – определяет использование метрической системы. Для маршрутов, заданных текстовой строкой, результаты указываются в километрах и метрах.
  • imperial – определяет использование британской системы Для маршрутов, заданных текстовой строкой, результаты указываются в милях и футах.

Примечание. Этот параметр влияет только на text, которые показываются в полях distance. Поля distance также содержат values, которые всегда выражаются в метрах.

Приоритет региона

Вы можете настроить сервис Directions так, чтобы результаты возвращались с предпочтением определенного региона. Для этого служит параметр region. Этот параметр принимает двухсимвольный аргумент ccTLD (национальный домен верхнего уровня), указывающий на регион. Большинство кодов ccTLD совпадают с кодами ISO 3166-1 alpha-2, однако имеются некоторые исключения. Например, ccTLD Великобритании – uk (.co.uk), а код ISO 3166-1 – gb (технически для Соединенного Королевства Великобритании и Северной Ирландии). Список поддерживаемых регионов приведен в статье Доступность сервисов платформы Google Карт.

Вы можете использовать любой домен, в котором в основном приложении Google Карт запущены маршруты.

Например, запрос маршрута от Толедо до Мадрида возвращает правильные результаты, если для параметра region задано значение es, а "Толедо" интерпретируется как город в Испании:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Madrid
  &origin=Toledo
  &region=es
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid®ion=es&key=YOUR_API_KEY'

JSON

      
{
  "geocoded_waypoints":
    [
      {
        "geocoder_status": "OK",
        "place_id": "ChIJ8f21C60Lag0R_q11auhbf8Y",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ",
        "types": ["locality", "political"],
      },
    ],
  "routes":
    [
      {
        "bounds":
          {
            "northeast": { "lat": 40.4165207, "lng": -3.7026134 },
            "southwest": { "lat": 39.862808, "lng": -4.029406799999999 },
          },
        "copyrights": "Map data ©2022 Inst. Geogr. Nacional",
        "legs":
          [
            {
              "distance": { "text": "74.3 km", "value": 74327 },
              "duration": { "text": "57 mins", "value": 3446 },
              "end_address": "Madrid, Spain",
              "end_location": { "lat": 40.4165207, "lng": -3.705076 },
              "start_address": "Toledo, Spain",
              "start_location": { "lat": 39.862808, "lng": -4.0273727 },
              "steps":
                [
                  {
                    "distance": { "text": "0.6 km", "value": 615 },
                    "duration": { "text": "2 mins", "value": 106 },
                    "end_location":
                      { "lat": 39.8681019, "lng": -4.029378299999999 },
                    "html_instructions": "Head <b>northwest</b> on <b>Av. de la Reconquista</b> toward <b>C. de la Diputación</b>",
                    "polyline":
                      {
                        "points": "quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC",
                      },
                    "start_location": { "lat": 39.862808, "lng": -4.0273727 },
                    "travel_mode": "DRIVING",
                  },
                  // Additional steps omitted for brevity
                ],
              "traffic_speed_entry": [],
              "via_waypoint": [],
            },
          ],
        "overview_polyline":
          {
            "points": "quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)",
          },
        "summary": "A-42",
        "warnings": [],
        "waypoint_order": [],
      },
    ],
  "status": "OK",
}
      
    

XML

      
<DirectionsResponse>
 <status>OK</status>
 <route>
  <summary>A-42</summary>
  <leg>
   <step>
    <travel_mode>DRIVING</travel_mode>
    <start_location>
     <lat>39.8628080</lat>
     <lng>-4.0273727</lng>
    </start_location>
    <end_location>
     <lat>39.8681019</lat>
     <lng>-4.0293783</lng>
    </end_location>
    <polyline>
     <points>quhrF`rqWCBQJUJm@PQFg@Ni@JeBh@}@XaD|@{@Vk@Ns@RUFoA^u@R_AXwA`@WHMBG@C?E?GAC?IC</points>
    </polyline>
    <duration>
     <value>106</value>
     <text>2 mins</text>
    </duration>
    <html_instructions>Head &lt;b&gt;northwest&lt;/b&gt; on &lt;b&gt;Av. de la Reconquista&lt;/b&gt; toward &lt;b&gt;C. de la Diputación&lt;/b&gt;</html_instructions>
    <distance>
     <value>615</value>
     <text>0.6 km</text>
    </distance>
   </step>
   <!-- Additional steps omitted for brevity -->
   <duration>
    <value>3446</value>
    <text>57 mins</text>
   </duration>
   <distance>
    <value>74327</value>
    <text>74.3 km</text>
   </distance>
   <start_location>
    <lat>39.8628080</lat>
    <lng>-4.0273727</lng>
   </start_location>
   <end_location>
    <lat>40.4165207</lat>
    <lng>-3.7050760</lng>
   </end_location>
   <start_address>Toledo, Spain</start_address>
   <end_address>Madrid, Spain</end_address>
  </leg>
  <copyrights>Map data ©2022 Inst. Geogr. Nacional</copyrights>
  <overview_polyline>
   <points>quhrF`rqWcHzBaNzDeG~A][?k@lA{Dr@mBR]HmA[WQDWE[g@mAeE... (truncated for brevity)</points>
  </overview_polyline>
  <bounds>
   <southwest>
    <lat>39.8628080</lat>
    <lng>-4.0294068</lng>
   </southwest>
   <northeast>
    <lat>40.4165207</lat>
    <lng>-3.7026134</lng>
   </northeast>
  </bounds>
 </route>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJ8f21C60Lag0R_q11auhbf8Y</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id>
 </geocoded_waypoint>
</DirectionsResponse>
      
      

Запрос маршрута из Толедо в Мадрид, отправленный без параметра region, не возвращает результатов, поскольку Толедо интерпретируется как город в Огайо, а не в Испании:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=Madrid
  &origin=Toledo
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=Toledo&destination=Madrid&key=YOUR_API_KEY'

JSON

      
{
  "geocoded_waypoints":
    [
      {
        "geocoder_status": "OK",
        "place_id": "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
        "types": ["locality", "political"],
      },
      {
        "geocoder_status": "OK",
        "place_id": "ChIJgTwKgJcpQg0RaSKMYcHeNsQ",
        "types": ["locality", "political"],
      },
    ],
  "routes": [],
  "status": "ZERO_RESULTS",
}
      
      

XML

      
<DirectionsResponse>
 <status>ZERO_RESULTS</status>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJeU4e_C2HO4gRRcM6RZ_IPHw</place_id>
 </geocoded_waypoint>
 <geocoded_waypoint>
  <geocoder_status>OK</geocoder_status>
  <type>locality</type>
  <type>political</type>
  <place_id>ChIJgTwKgJcpQg0RaSKMYcHeNsQ</place_id>
 </geocoded_waypoint>
</DirectionsResponse>
      
      

Модификаторы местоположения

Вы можете использовать модификаторы местоположения, чтобы указать, как водители должны подъезжать к определенному месту. Для этого используйте параметр side_of_road, чтобы указать, какую сторону дороги использовать, или укажите заголовок, чтобы указать правильное направление движения. Эти модификаторы можно свободно комбинировать с модификатором via: для промежуточных путевых точек.

Укажите, что маршруты должны проходить по определенной стороне дороги.

При указании путевой точки вы можете запросить, чтобы маршрут проходил по той стороне дороги, к которой ближе путевая точка. Для этого используйте префикс side_of_road:. Например, в ответ на этот запрос маршрута будет возвращен длинный маршрут, чтобы транспортное средство оказалось на той стороне дороги, к которой была смещена путевая точка:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=side_of_road%3A37.7663444%2C-122.4412006
  &origin=37.7680296%2C-122.4375126
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=37.7680296%2C-122.4375126&destination=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'

Если параметр side_of_road: используется с закодированными ломаными линиями, он применяется к каждому местоположению на ломаной линии.

Модификатор side_of_road: можно использовать только со следующими ограничениями:

Как указать, что маршруты должны иметь определенное направление

При указании путевой точки вы можете запросить, чтобы маршрут проходил через нее в определенном направлении. Это направление указывается с помощью префикса heading=X:, где X – целое число от 0 (включительно) до 360 (исключительно). Значение 0 соответствует северу, 90 – востоку и т. д. по часовой стрелке. Например, в этом запросе маршрут идет на восток от пункта отправления, а затем разворачивается:

URL

https://maps.googleapis.com/maps/api/directions/json
  ?destination=37.773245%2C-122.469502
  &origin=heading%3D90%3A37.773279%2C-122.468780
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/directions/json?origin=heading%3D90%3A37.773279%2C-122.468780&destination=37.773245%2C-122.469502&key=YOUR_API_KEY'

Модификатор heading=X: можно использовать только со следующими ограничениями:

  • Параметр mode для способа передвижения имеет значение driving или bicycling либо не указан (driving является значением по умолчанию).
  • Модификатор side_of_road не указан для того же местоположения.
  • Местоположение задается с помощью значений широты и долготы. Нельзя использовать heading с адресами, идентификаторами мест или закодированными ломаными линиями.