Рассчитать сводку маршрутизации
Чтобы использовать текстовый поиск (новая функция) или поиск поблизости (новая функция) для расчета продолжительности поездки и расстояния до каждого места в ответе:
Передайте параметр
routingParameters.originв запросе, чтобы указать координаты широты и долготы начальной точки маршрута. Этот параметр необходим для расчета продолжительности и расстояния до каждой точки в ответе.Включите
routingSummariesв маску поля, чтобы ответ содержал массивroutingSummaries. Этот массив содержит продолжительность и расстояние от точки отправления маршрута до каждой точки в ответе.
Инструмент API Explorer позволяет отправлять запросы в режиме реального времени, чтобы вы могли ознакомиться с 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 и для параметра route origin. Например, вы устанавливаете locationRestriction в центр Сиднея, чтобы сместить результаты поиска в сторону этого круга. Но затем вы устанавливаете route origin в координаты вашего дома, то есть в другое место внутри круга поиска. В этом случае запрос смещает результаты поиска в сторону круга и вычисляет сводные данные маршрута на основе местоположения вашего дома.
Укажите варианты поездки
По умолчанию расчет продолжительности и расстояния производится для автомобиля. Однако вы можете выбрать тип транспортного средства, а также другие параметры в процессе поиска.
Используйте параметр
routingParameters.travelMode, чтобы установить вид транспорта наDRIVE,BICYCLE,WALKилиTWO_WHEELER. Дополнительную информацию об этих параметрах см. в разделе «Доступные типы транспортных средств для маршрутов» .- Используйте свойство
routingParameters.routingPreference, чтобы установить параметр предпочтительной маршрутизации в значениеTRAFFIC_UNAWARE(по умолчанию),TRAFFIC_AWAREилиTRAFFIC_AWARE_OPTIMAL. Каждый параметр имеет разный уровень качества данных и задержки. Для получения дополнительной информации см . раздел «Укажите, как и следует ли включать данные о трафике» .Свойство
routingParameters.routingPreferenceвлияет на маршруты, содержащиеся в полеdirectionsUriв предварительной версии (Pre-GA), поскольку 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».