Рассчитать сводку маршрутизации
Чтобы использовать текстовый поиск (новый) или поиск поблизости (новый) для расчета длительности поездки и расстояния до каждого места в ответе:
Передайте параметр
routingParameters.origin
в запросе, чтобы указать координаты широты и долготы точки начала маршрута. Этот параметр необходим для расчета длительности пути и расстояния до каждого пункта в ответе.Добавьте
routingSummaries
в маску поля, чтобы ответ включал массивroutingSummaries
. Этот массив содержит длительность и расстояние от начальной точки маршрутизации до каждого места в ответе.
API Explorer позволяет вам делать живые запросы, чтобы вы могли ознакомиться с API и его параметрами:
Использовать текстовый поиск (новый)
В следующем запросе вы рассчитываете длительность поездки и расстояние до каждого места в ответе Text Search (New):
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
для place недоступен, запись массива пуста.
Поскольку в этом примере вычисляется длительность и расстояние от начальной точки маршрута до каждого места, поле 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
влияет на направления, содержащиеся в поле Preview (Pre-GA)directionsUri
, поскольку Google Maps отображает варианты дорожного движения при открытии ссылки. - Используйте свойство
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 Explorer позволяет вам делать образцы запросов, чтобы вы могли ознакомиться с API и его параметрами.
Выберите значок API api на правой стороне страницы.
При желании отредактируйте параметры запроса.
Нажмите кнопку «Выполнить» . В диалоговом окне выберите учётную запись, которую вы хотите использовать для отправки запроса.
На панели обозревателя API выберите значок полноэкранного режима, чтобы развернуть окно обозревателя API.