Tìm dọc theo tuyến đường

Để sử dụng tính năng Tìm kiếm văn bản (Mới) nhằm tìm kiếm dọc theo một tuyến đường, hãy truyền tuyến đường được tính toán trước từ Routes API trong yêu cầu dưới dạng một hình nhiều đường. Câu trả lời chứa các địa điểm khớp với tiêu chí tìm kiếm và cũng nằm gần tuyến đường đã chỉ định.

Cách tìm dọc theo tuyến đường:

  1. Sử dụng Routes API để tính toán một tuyến đường trả về hình nhiều đường được mã hoá của tuyến đường trong phản hồi.

  2. Sử dụng tham số searchAlongRouteParameters.polyline.encodedPolyline để truyền hình nhiều đường được mã hoá của tuyến đường đến tính năng Tìm kiếm văn bản (Mới) nhằm ưu tiên kết quả tìm kiếm cho tuyến đường đó. Sau đó, phản hồi sẽ chứa các địa điểm khớp với tiêu chí tìm kiếm và cũng nằm gần tuyến đường đã chỉ định.

APIs Explorer cho phép bạn đưa ra các yêu cầu trực tiếp để có thể làm quen với API và các tuỳ chọn API:

Theo mặc định, tính năng Tìm kiếm văn bản (Mới) sẽ thực hiện tìm kiếm dọc theo toàn bộ tuyến đường từ điểm xuất phát đến điểm đến như được xác định bằng hình nhiều đường. Trong ví dụ sau, hình nhiều đường xác định tuyến đường từ:

  • Điểm xuất phát: 1600 Amphitheatre Parkway, Mountain View, CA
  • Điểm đến: 24 Willie Mays Plaza, San Francisco, CA

Đường đa tuyến được mã hoá của chuyến đi cho tuyến đường này được biểu thị bằng chuỗi:

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

Ví dụ sau đây sử dụng hình nhiều đường được mã hoá của tuyến đường để thiên vị kết quả tìm kiếm:

  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'

Phản hồi chứa các địa điểm khớp với tiêu chí tìm kiếm, thiên về tuyến đường:

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

Bạn không cần phải thiên vị kết quả cho toàn bộ tuyến đường. Ví dụ: bạn có thể đã đi được nửa chặng đường trước khi thực hiện tìm kiếm. Trong trường hợp này, bạn có thể chỉ định một điểm xuất phát rõ ràng cho tuyến đường trong nội dung tìm kiếm để ghi đè điểm xuất phát được xác định trong hình nhiều đường được mã hoá. Trong ví dụ sau, bạn chỉ định toạ độ vĩ độ và kinh độ của San Mateo, CA, tức là khoảng nửa đường dọc theo hình nhiều đường của tuyến đường:

  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'

Hãy dùng thử!

APIs Explorer cho phép bạn tạo các yêu cầu mẫu để bạn có thể làm quen với API và các tuỳ chọn API.

  1. Chọn biểu tượng API api ở bên phải trang.

  2. Chỉnh sửa các tham số yêu cầu (không bắt buộc).

  3. Chọn nút Execute (Thực thi). Trong hộp thoại, hãy chọn tài khoản mà bạn muốn dùng để đưa ra yêu cầu.

  4. Trong bảng điều khiển APIs Explorer, hãy chọn biểu tượng toàn màn hình fullscreen để mở rộng cửa sổ APIs Explorer.