Cerca lungo il percorso

Per utilizzare la ricerca di testo (nuova) per eseguire ricerche lungo un percorso, passa il percorso precalcolato dall'API Routes nella richiesta come polilinea. La risposta contiene i luoghi che corrispondono ai criteri di ricerca e si trovano anche vicino al percorso specificato.

Per cercare lungo un percorso:

  1. Utilizza l'API Routes per calcolare un percorso che restituisce la polilinea codificata del percorso nella risposta.

  2. Utilizza il parametro searchAlongRouteParameters.polyline.encodedPolyline per passare il polilinea codificato del percorso alla ricerca di testo (nuova) per orientare i risultati di ricerca al percorso. La risposta contiene quindi i luoghi che corrispondono ai criteri di ricerca e si trovano anche vicino al percorso specificato.

Per impostazione predefinita, la ricerca di testo (nuova) esegue la ricerca lungo l'intero percorso dall'origine alla destinazione come definito dal polilinea. Nell'esempio seguente, il polilinea definisce il percorso da:

  • Origine: 1600 Amphitheatre Parkway, Mountain View, CA
  • Destinazione: 24 Willie Mays Plaza, San Francisco, CA

La polilinea codificata della corsa per questo percorso è rappresentata dalla stringa:

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

Il seguente esempio utilizza il polilinea codificato del percorso per influenzare i risultati di ricerca:

  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'

La risposta contiene i luoghi che corrispondono ai criteri di ricerca, con un bias verso il percorso:

  {
    "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"
        }
      },
      /.../
    ]
  }

Non è necessario alterare i risultati per l'intero percorso. Ad esempio, potresti essere già a metà percorso prima di eseguire la ricerca. In questo caso, puoi specificare un'origine di routing esplicita per la ricerca per sostituire l'origine definita nel polilinea codificato. Nell'esempio seguente, specifichi le coordinate di latitudine e longitudine di San Mateo, in California, che si trova approssimativamente a metà del percorso polilinea:

  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'