Rota boyunca arayın

Bir rota boyunca arama yapmak için Text Search (New) özelliğini kullanmak istiyorsanız Routes API'den önceden hesaplanan rotayı istekte çoklu çizgi olarak iletin. Yanıt, arama ölçütleriyle eşleşen ve belirtilen rotanın yakınında bulunan yerleri içerir.

Rota üzerinde arama yapmak için:

  1. Yanıtta bir rotanın kodlanmış çoklu çizgisini döndüren bir rota hesaplamak için Routes API'yi kullanın.

  2. Rotanın kodlanmış çoklu çizgisini Text Search'e (Yeni) iletmek için searchAlongRouteParameters.polyline.encodedPolyline parametresini kullanarak arama sonuçlarını rotaya göre yönlendirin. Yanıt, arama ölçütleriyle eşleşen ve belirtilen rotanın yakınında bulunan yerleri içerir.

API Gezgini, API ve API seçeneklerini tanıyabilmeniz için canlı istekler göndermenize olanak tanır:

Varsayılan olarak Text Search (Yeni), çoklu çizgiyle tanımlanan başlangıç noktasından varış noktasına kadar olan tüm rota boyunca arama yapar. Aşağıdaki örnekte, çoklu çizgi şu rotayı tanımlar:

  • Başlangıç: 1600 Amphitheatre Parkway, Mountain View, CA
  • Hedef: 24 Willie Mays Plaza, San Francisco, CA

Gezinin bu rota için kodlanmış çoklu çizgisi şu dizeyle temsil edilir:

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

Aşağıdaki örnekte, arama sonuçlarını yönlendirmek için rotanın kodlanmış çoklu çizgisi kullanılmıştır:

  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'

Yanıt, arama ölçütleriyle eşleşen ve rotaya göre ağırlıklı yerleri içerir:

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

Sonuçları tüm rotaya göre ağırlıklandırmanız gerekmez. Örneğin, aramayı yaptığınızda rotanın yarısına gelmiş olabilirsiniz. Bu durumda, kodlanmış çoklu çizgide tanımlanan başlangıç noktasını geçersiz kılmak için aramaya açık bir rota başlangıç noktası belirtebilirsiniz. Aşağıdaki örnekte, rota çoklu çizgisinin yaklaşık olarak ortasında bulunan San Mateo, Kaliforniya'nın enlem ve boylam koordinatlarını belirtirsiniz:

  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'

Deneyin.

API Gezgini, API ve API seçeneklerini tanıyabilmeniz için örnek istekler göndermenize olanak tanır.

  1. Sayfanın sağ tarafındaki API simgesini api seçin.

  2. İsterseniz istek parametrelerini düzenleyebilirsiniz.

  3. Execute (Yürüt) düğmesini seçin. İletişim kutusunda, isteği göndermek için kullanmak istediğiniz hesabı seçin.

  4. API Gezgini panelinde, API Gezgini penceresini genişletmek için tam ekran simgesini fullscreen seçin.