Kết hợp thông tin tóm tắt về tuyến đường với tính năng tìm kiếm dọc theo tuyến đường

Bạn có thể kết hợp các phép tính tóm tắt định tuyến với tính năng tìm kiếm dọc theo tuyến đường. Trong trường hợp này, Tìm kiếm văn bản (Mới) sẽ trả về thời lượng và quãng đường di chuyển đến từng địa điểm trong phản hồi, rồi từ từng địa điểm đến đích cuối cùng của tuyến đường.

Cách sử dụng Tìm kiếm văn bản (Mới) để tính toán thông tin tóm tắt về định tuyến cùng với tính năng tìm kiếm dọc theo tuyến đường:

  1. Sử dụng Routes API để tính toán một tuyến đường trả về đường nhiều đoạn 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ủ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 phù hợp với tiêu chí tìm kiếm và cũng nằm gần tuyến đường đã chỉ định.

  3. Thêm routingSummaries vào mặt nạ trường để phản hồi bao gồm mảng routingSummaries. Mảng này chứa thời lượng và quãng đường từ điểm bắt đầu của tuyến đường đến từng địa điểm trong phản hồi.

APIs Explorer cho phép bạn đưa ra các yêu cầu trực tiếp để làm quen với API và các lựa 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:

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,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'

Phản hồi chứa 2 mảng: mảng places chứa các địa điểm phù hợp và mảng routingSummaries chứa thời lượng và quãng đường di chuyển đến từng địa điểm:

{
  "places": [
    {
      "formattedAddress": "1199 El Camino Real, San Bruno, CA 94066, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Vegan Mob - Vegan BBQ and Soul Food",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "839 Kearny St, San Francisco, CA 94108, USA",
      "priceLevel": "PRICE_LEVEL_MODERATE",
      "displayName": {
        "text": "Enjoy Vegetarian",
        "languageCode": "en"
      }
    },
   
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808f87f9ede375f5:0xa37171fea1a16b28!1m0!3e0"
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ],
      "directionsUri": "https://www.google.com/maps/dir/37.42268,-122.08473/''/37.77877,-122.38781/data=!4m7!4m6!1m0!1m2!1m1!1s0x808580f4cebdb06f:0xd3af09e5742234f2!1m0!3e0"
    },
   
  ]
}

Đối với mỗi mục trong mảng legs, Tìm kiếm văn bản (Mới) sẽ trả về thời gian di chuyển 2 chặng:

  • Chặng đầu tiên chứa thời lượng và quãng đường di chuyển từ điểm bắt đầu đến địa điểm. Trong ví dụ này, thời lượng và quãng đường từ điểm bắt đầu đến địa điểm đầu tiên trong kết quả là 285 giây và 1616 mét.

  • Chặng thứ hai chứa thời lượng và quãng đường di chuyển từ địa điểm đến đích của tuyến đường. Trong ví dụ này, thời lượng và quãng đường là 2466 giây và 58147 mét.

Chỉ định điểm bắt đầu định tuyến, chế độ di chuyển và các thành phần sửa đổi tuyến đường

Bạn có thể sửa đổi phép tính tìm kiếm và thông tin tóm tắt về định tuyến bằng cách chỉ định điểm bắt đầu của định tuyến, chế độ di chuyển, các thành phần sửa đổi định tuyến và lựa chọn ưu tiên về định tuyến. Chế độ di chuyển và các thành phần sửa đổi tuyến đường hoạt động giống như khi tính toán thông tin tóm tắt về tuyến đường mà không chỉ định tuyến đường như trong chủ đề Chỉ định các lựa chọn di chuyển.

Theo mặc định, chặng đầu tiên của mỗi kết quả chứa quãng đường từ điểm bắt đầu do hình nhiều đường xác định đến từng địa điểm. Tuy nhiên, bạn có thể ghi đè giá trị mặc định đó bằng cách chỉ định rõ ràng điểm bắt đầu của tuyến đường trong yêu cầu. Nếu được chỉ định, chặng đầu tiên của tất cả các phản hồi sẽ chỉ định quãng đường và thời lượng từ điểm bắt đầu định tuyến đã chỉ định, ghi đè điểm bắt đầu từ hình nhiều đường.

Trong ví dụ tiếp theo, bạn chỉ định điểm bắt đầu của tuyến đường là toạ độ của San Mateo, CA, chỉ định tránh đường thu phí và đặt số lượng kết quả là 5:

  curl -X POST -d '{
    "textQuery" : "Spicy Vegetarian Food",
    "maxResultCount": 5,
    "searchAlongRouteParameters": {
      "polyline": {
        "encodedPolyline": "ROUTE_POLYLINE"
      }
    },
    "routingParameters": {
      "origin": {
        "latitude": 37.56617,
        "longitude": -122.30870
      },
      "travelMode":"DRIVE",
      "routeModifiers": {
        "avoidTolls": 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'

Hình ảnh sau đây cho thấy một bản đồ chứa hình nhiều đường của tuyến đường, điểm khởi hành mới (ghim màu xanh nhạt) và các địa điểm trong kết quả tìm kiếm (ghim màu xanh lục). Hãy lưu ý cách tất cả kết quả đều nằm dọc theo tuyến đường, nhưng qua San Mateo:

Kết quả tìm kiếm từ nguồn cập nhật.

Hãy làm thử!

APIs Explorer cho phép bạn đưa ra các yêu cầu mẫu để làm quen với API và các lựa chọn API.

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

  2. Bạn có thể chỉnh sửa các tham số yêu cầu.

  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.