Рассчитать сводку маршрутизации
Чтобы использовать текстовый поиск (новое) или поиск поблизости (новое) для расчета продолжительности поездки и расстояния до каждого места в ответе:
Передайте параметр
routingParameters.origin
в запросе, чтобы указать координаты широты и долготы источника маршрутизации. Этот параметр необходим для расчета длительности и расстояния до каждого места ответа.Включите
routingSummaries
в маску поля, чтобы ответ включал массивroutingSummaries
. Этот массив содержит продолжительность и расстояние от источника маршрутизации до каждого места в ответе.
Обозреватель API позволяет вам делать запросы в реальном времени, чтобы вы могли ознакомиться с API и опциями API:
Использовать текстовый поиск (новинка)
В следующем запросе вы рассчитываете продолжительность поездки и расстояние до каждого места в ответе текстового поиска (новое):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key:API_KEY ' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
Ответ содержит два массива JSON: массив places
содержит совпадающие места, а массив routingSummaries
содержит продолжительность и расстояние, которое нужно пройти до каждого места:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Каждый элемент массива routingSummaries
находится в соответствующем месте массива в качестве места в массиве places
. То есть элемент routingSummaries[0]
соответствует месту places[0]
.
Длина массива routingSummaries
такая же, как длина массива places
. В случае, когда routingSummary
для места недоступна, запись массива пуста.
Поскольку в этом примере вычисляются продолжительность и расстояние от источника маршрутизации до каждого места, поле routingSummaries.legs
в ответе содержит один объект Leg
, который содержит duration
и distanceMeters
от источника маршрутизации до места.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Из этого примера видно, что продолжительность и расстояние от начала маршрута до первого места в результатах составляет 597 секунд и 2607 метров.
Используйте поиск поблизости
В этом примере вы рассчитываете продолжительность поездки и расстояние до каждого места в ответе «Поиск поблизости». В этом примере выполняется поиск ресторанов в Сиднее, Австралия, и для ограничения местоположения и начала маршрутизации устанавливаются одни и те же координаты широты и долготы:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY " \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
Вам не обязательно использовать одни и те же координаты для locationRestriction
и для источника маршрутизации. Например, вы устанавливаете locationRestriction
на центральную точку Сиднея, чтобы результаты поиска смещались к этому кругу. Но затем вы устанавливаете начало маршрута в координатах вашего дома, то есть в другом месте в круге поиска. Затем запрос смещает результаты поиска к кругу и вычисляет сводные данные о маршруте на основе местоположения вашего дома.
Укажите варианты поездки
По умолчанию расчеты продолжительности и расстояния относятся к автомобилю. Однако вы можете контролировать тип транспортного средства, а также другие параметры в поиске.
Используйте
routingParameters.travelMode
, чтобы установить способ передвижения:DRIVE
,BICYCLE
,WALK
илиTWO_WHEELER
. Дополнительную информацию об этих опциях см. в разделе Доступные типы транспортных средств для маршрутов .- Используйте свойство
routingParameters.routingPreference
, чтобы установить для параметра предпочтения маршрутизации значениеTRAFFIC_UNAWARE
(по умолчанию),TRAFFIC_AWARE
илиTRAFFIC_AWARE_OPTIMAL
. Каждый вариант имеет разные уровни качества данных и задержки. Дополнительные сведения см. в разделе Укажите, как и если включать данные о трафике .routingParameters.routingPreference
влияет на направления, содержащиеся в полеdirectionsUri
предварительного просмотра (Pre-GA), поскольку Карты Google отображают параметры трафика при открытии ссылки. - Используйте
routingParameters.routeModifiers
, чтобы указать, чтобыavoidTolls
,avoidHighways
,avoidFerries
иavoidIndoor
. Дополнительную информацию об этих параметрах см. в разделе «Указание особенностей маршрута, которых следует избегать ».
В следующем примере вы указываете режим движения DRIVE
и избегаете шоссе:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key:API_KEY ' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
Попробуйте!
Обозреватель API позволяет вам создавать образцы запросов, чтобы вы могли ознакомиться с API и опциями API.
Выберите значок API API в правой части страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учетную запись, которую вы хотите использовать для отправки запроса.
На панели «Обозреватель API» выберите полноэкранный значок, чтобы развернуть окно Обозревателя API.
Рассчитать сводку маршрутизации
Чтобы использовать текстовый поиск (новое) или поиск поблизости (новое) для расчета продолжительности поездки и расстояния до каждого места в ответе:
Передайте параметр
routingParameters.origin
в запросе, чтобы указать координаты широты и долготы источника маршрутизации. Этот параметр необходим для расчета длительности и расстояния до каждого места ответа.Включите
routingSummaries
в маску поля, чтобы ответ включал массивroutingSummaries
. Этот массив содержит продолжительность и расстояние от источника маршрутизации до каждого места в ответе.
Обозреватель API позволяет вам делать запросы в реальном времени, чтобы вы могли ознакомиться с API и опциями API:
Использовать текстовый поиск (новинка)
В следующем запросе вы рассчитываете продолжительность поездки и расстояние до каждого места в ответе текстового поиска (новое):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key:API_KEY ' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
Ответ содержит два массива JSON: массив places
содержит совпадающие места, а массив routingSummaries
содержит продолжительность и расстояние, которое нужно пройти до каждого места:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Каждый элемент массива routingSummaries
находится в соответствующем месте массива в качестве места в массиве places
. То есть элемент routingSummaries[0]
соответствует месту places[0]
.
Длина массива routingSummaries
такая же, как длина массива places
. В случае, когда routingSummary
для места недоступна, запись массива пуста.
Поскольку в этом примере вычисляются продолжительность и расстояние от источника маршрутизации до каждого места, поле routingSummaries.legs
в ответе содержит один объект Leg
, который содержит duration
и distanceMeters
от источника маршрутизации до места.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Из этого примера видно, что продолжительность и расстояние от начала маршрута до первого места в результатах составляет 597 секунд и 2607 метров.
Используйте поиск поблизости
В этом примере вы рассчитываете продолжительность поездки и расстояние до каждого места в ответе поиска поблизости. В этом примере выполняется поиск ресторанов в Сиднее, Австралия, и для ограничения местоположения и начала маршрутизации устанавливаются одни и те же координаты широты и долготы:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY " \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
Вам не обязательно использовать одни и те же координаты для locationRestriction
и для источника маршрутизации. Например, вы устанавливаете locationRestriction
на центральную точку Сиднея, чтобы результаты поиска смещались к этому кругу. Но затем вы устанавливаете начало маршрута в координатах вашего дома, то есть в другом месте в круге поиска. Затем запрос смещает результаты поиска к кругу и вычисляет сводные данные о маршруте на основе местоположения вашего дома.
Укажите варианты поездки
По умолчанию расчеты продолжительности и расстояния относятся к автомобилю. Однако вы можете контролировать тип транспортного средства, а также другие параметры в поиске.
Используйте
routingParameters.travelMode
, чтобы установить способ передвижения:DRIVE
,BICYCLE
,WALK
илиTWO_WHEELER
. Дополнительную информацию об этих опциях см. в разделе Доступные типы транспортных средств для маршрутов .- Используйте свойство
routingParameters.routingPreference
, чтобы установить для параметра предпочтения маршрутизации значениеTRAFFIC_UNAWARE
(по умолчанию),TRAFFIC_AWARE
илиTRAFFIC_AWARE_OPTIMAL
. Каждый вариант имеет разные уровни качества данных и задержки. Дополнительные сведения см. в разделе Укажите, как и если включать данные о трафике .routingParameters.routingPreference
влияет на маршруты, содержащиеся в полеdirectionsUri
предварительного просмотра (Pre-GA), поскольку Карты Google отображают параметры трафика при открытии ссылки. - Используйте
routingParameters.routeModifiers
, чтобы указать, чтобыavoidTolls
,avoidHighways
,avoidFerries
иavoidIndoor
. Дополнительную информацию об этих параметрах см. в разделе «Указание особенностей маршрута, которых следует избегать ».
В следующем примере вы указываете режим движения DRIVE
и избегаете шоссе:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": true } } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key:API_KEY ' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \ 'https://places.googleapis.com/v1/places:searchText'
Попробуйте!
Обозреватель API позволяет вам создавать образцы запросов, чтобы вы могли ознакомиться с API и опциями API.
Выберите значок API API в правой части страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учетную запись, которую вы хотите использовать для отправки запроса.
На панели «Обозреватель API» выберите полноэкранный значок, чтобы развернуть окно Обозревателя API.