Выберите маршрут на более короткое расстояние

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

Функция «Рассчитать маршруты» может возвращать маршруты, оптимизированные для поездок на короткие расстояния, если вы включите эту опцию.

При запросе маршрута меньшей протяженности сервис возвращает следующую информацию:

  • Маршрут по умолчанию, оптимизированный в первую очередь для расчета времени прибытия.
  • Укороченный маршрут, оптимизированный для минимизации пройденного расстояния на протяжении всей поездки.

Что это такое и зачем это использовать

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

Запросите маршрут меньшей протяженности

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

  • Установите travelMode в DRIVE , BICYCLE или TWO_WHEELER .
  • Установите для параметра requestedReferenceRoutes значение SHORTER_DISTANCE .
  • Задайте маску поля ответа, чтобы возвращались свойства ответа, связанные с маршрутом меньшей протяженности:
    • routes.routeLabels : Идентифицирует каждый маршрут как DEFAULT_ROUTE , SHORTER_DISTANCE или DEFAULT_ROUTE_ALTERNATE .
    • routes.routeToken : Токен маршрута, который можно передать в Navigation SDK для получения пользовательского маршрута.
  • Не включайте в маршрут промежуточные точки Via .
  • Не включайте параметр optimizeWaypointOrder .
  • Необязательно : задайте маску поля ответа, чтобы возвращались следующие свойства, связанные как с маршрутом по умолчанию, так и с более коротким маршрутом:
    • routes.distanceMeters : Возвращает расстояние маршрута.
    • routes.duration : Возвращает продолжительность маршрута.

Для получения справочной информации см. ReferenceRoute и RouteLabel .

Пример запроса: маршрут на меньшую дистанцию

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

  • routes.distanceMeters
  • routes.duration
curl -X POST -H 'content-type: application/json' -d '{
  "origin": {
    "location": {
      "latLng": {
        "latitude": 41.76904801292959,
        "longitude": -72.67374935684933
      }
    }
  },
  "destination": {
    "location": {
      "latLng": {
        "latitude": 41.823042361105024,
        "longitude": -71.40933143059424
      }
    }
  },
  "travelMode":"DRIVE",
  "routingPreference":"TRAFFIC_AWARE",
  "requestedReferenceRoutes": ["SHORTER_DISTANCE"],
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Пример ответа по более короткому маршруту

{
  "routes": [
    {
      "distanceMeters": 138943,
      "duration": "5373s",
      "routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
      "routeLabels": [
        "DEFAULT_ROUTE"
      ]
    },
    {
      "distanceMeters": 112610,
      "duration": "7165s",
      "routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
      "routeLabels": [
        "SHORTER_DISTANCE"
      ]
    }
  ]
}

Пример запроса: более короткий маршрут с меньшим расходом топлива.

Приведенный ниже код демонстрирует запрос как на маршрут меньшей протяженности, так и на маршрут с меньшим расходом топлива.

`

 curl -X POST -d '{
"origin": {  "location": {  "latLng": {  "latitude": 41.76904801292959,
"longitude": -72.67374935684933  }  }  },  "destination": {  "location": {
"latLng": {  "latitude": 41.823042361105024,  "longitude": -71.40933143059424  }
 }  },  "travelMode":"DRIVE",  "routingPreference":"TRAFFIC_AWARE_OPTIMAL",
"requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }' 
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'

Пример ответа: Более короткое расстояние и экономичный маршрут.

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

{  "routes": [  {  "distanceMeters": 138943,  "duration": "5375s",
"routeToken":
"Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ",
 "routeLabels": [  "DEFAULT_ROUTE"  ]  },  {  "distanceMeters": 112610,
"duration": "7156s",  "routeToken":
"CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f",
 "routeLabels": [  "FUEL_EFFICIENT",  "SHORTER_DISTANCE"  ]  }  ] }

Поддерживаемые регионы

Маршруты меньшей протяженности поддерживаются во всех регионах.

Выставление счетов

Платформа Google Maps не взимает дополнительную плату за использование экспериментальных функций. Плата будет взиматься в зависимости от вашего использования API и других установленных вами параметров.

Узнайте больше о выставлении счетов за использование API маршрутов.