Поиск на маршруте
Чтобы использовать текстовый поиск (New) для поиска вдоль маршрута, передайте в запросе предварительно рассчитанный маршрут из Routes API в виде ломаной линии. Ответ содержит места, которые соответствуют критериям поиска и находятся рядом с указанным маршрутом.
Чтобы выполнить поиск вдоль маршрута, сделайте следующее:
-
Используйте Routes API, чтобы рассчитать маршрут, который возвращает закодированную ломаную линию маршрута в ответе.
-
Используйте параметр
searchAlongRouteParameters.polyline.encodedPolyline, чтобы передать закодированную ломаную линию маршрута в текстовый поиск (New) и настроить приоритет результатов поиска по маршруту. В ответе будут содержаться места, которые соответствуют критериям поиска и находятся рядом с указанным маршрутом.
API Explorer позволяет отправлять запросы в реальном времени, чтобы вы могли ознакомиться с API и его возможностями.
По умолчанию текстовый поиск (New) выполняет поиск вдоль всего маршрута от пункта отправления до пункта назначения, заданного ломаной линией. В примере ниже ломаная линия определяет маршрут от:
- Origin: 1600 Amphitheatre Parkway, Mountain View, CA
- Пункт назначения: 24 Willie Mays Plaza, San Francisco, CA.
Закодированная ломаная линия для этого маршрута представлена строкой:
wblcFptchVIFOd@G@EVw@Ms@dHKR}ApNA`AF~@Hf@TjAb@bBb@~@n@p@^Rd@~@Vz@HVz@nDLt@?d@Kr@c@~@mD`G?`@aEfGkCnDuChDm`@bb@[`@{GhHeEdEciBnnBkC`DkC~DaClEuKjT_Z|l@Qb@iR~_@}EzJ_AdB_Und@kAfCaOjZkg@vcAqBzD_]rr@iBlEaBxEgArD}AlG}AhHsA`IeAnH{@dIq@dJgL~iBq@rHu@vGgAtHwArHaBhHkBzG_DpJ}Nbc@iBhGkA|EgC|LcIjb@oAhG_AvDgAdDkApC_BzCiBpCsFvGii@vn@scAxlAmLjNgSzUeRjT{TzWqExEmG|FuNlMmMhLaRvPqOlNmbAl}@mFlF{PlOmJfIoElE}LtMiSbU_H`I}}@jcAwl@vp@oAbBqA~BeAhCm@tBg@fCWrBQ~BI|DaB~rBO~D[bEa@`Dm@pDaAdE{@vC_BbEkB~Def@|z@sEzHKJeS~]}K`S{\\~l@cXpe@sBpDm@bAuCxDkBrBiC~BwCtByBnAcBx@}Bt@{Bn@gh@|LaOpDeFhAoDj@aE^kVrA_E^iEr@yD~@uBr@gMjF_EnAcCh@eFr@_DRsAD}@Jsu@xCWDqIV}BCeCOyDm@cBa@_DmA}JeE_CwAsBcBiBoBuAqBmOoX{CuEkB_CoDqDkVoUoD{CeE_DkEkC_FeCqB}@sDuAoDgAeCe@cCW}CK}BDaDTeOlBcuBrYaNlBq@Dyd@rGyFt@yBb@eBf@oCnAoBlAkIpGkAp@wBbAaCt@oFdAwKjBoGxA{FbByIjC_HfB_@KmNdDuC|@uFzBcH|C{@\\[?sBv@}@VaBVoA@y@EmAQcA[w@]aBkAeAkA}BuDUKs@uAqBsCwBcCgAiAiN_MyKsJsG{GkBaBiBuA{BwAwDkBcOaHiC_AiCg@}BQcCAcBHqBVkB`@qEjAu@LgCVgAHwG@sG?mABsH^eNr@mBXy@NqBt@uAt@aBlAkAlA}BtCyApBiAdB_BxB{A`B}@j@oAf@s@PeCVcIf@gAAkAQy@YiAo@_A{@_DgEgJqM_DeEaM}PoBiCzAsBw@kAdAGVk@f@q@z@CВ следующем примере для уточнения результатов поиска используется закодированная ломаная линия маршрута:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food",
"searchAlongRouteParameters": {
"polyline": {
"encodedPolyline": "ROUTE_POLYLINE"
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \
'https://places.googleapis.com/v1/places:searchText'Ответ содержит места, соответствующие критериям поиска, с учетом маршрута:
{ "places": [ { "formattedAddress": "60 Morris St, San Francisco, CA 94107, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Umami Express", "languageCode": "en" } }, { "formattedAddress": "1130 4th St, San Francisco, CA 94158, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "House of Tadu Ethiopian Kitchen", "languageCode": "en" } }, { "formattedAddress": "1602 El Camino Real Ste A, Belmont, CA 94002, USA", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Eats Meets West Bowls", "languageCode": "en" } }, /.../ ] }
Вы можете не применять настройки ко всему маршруту. Например, вы можете выполнить поиск, когда уже проехали половину маршрута. В этом случае вы можете явно указать начальную точку маршрута для поиска, чтобы переопределить начальную точку, заданную в закодированной ломаной линии. В следующем примере вы указываете координаты широты и долготы Сан-Матео (Калифорния, США), который находится примерно на середине ломаной линии маршрута:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food",
"searchAlongRouteParameters": {
"polyline": {
"encodedPolyline": "ROUTE_POLYLINE"
}
},
"routingParameters": {
"origin": {
"latitude": 37.56617,
"longitude": -122.30870
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \
'https://places.googleapis.com/v1/places:searchText'Попробовать
С помощью API Explorer можно отправлять тестовые запросы, чтобы ознакомиться с API и его возможностями.
Нажмите на значок API api в правой части страницы.
При необходимости измените параметры запроса.
Нажмите кнопку Execute (Выполнить). В диалоговом окне выберите аккаунт, который хотите использовать для отправки запроса.
На панели API Explorer нажмите на значок полноэкранного режима fullscreen, чтобы развернуть окно API Explorer.