Kết hợp các bản tóm tắt định tuyến với tuyến đường Search Along

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

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

  1. Sử dụng Routes API (API Tuyến đường) để tính toán tuyến đường trả về hình nhiều đường trong câu trả lời.

  2. Dùng tham số searchAlongRouteParameters.polyline.encodedPolyline để truyền hình nhiều đường định tuyến đến Tìm kiếm văn bản (Mới) để dịch chuyển kết quả tìm kiếm đến tuyến đường đó. Sau đó, phản hồi sẽ chứa những đị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 cả mảng routingSummaries. Mảng này chứa thời lượng và khoảng cách từ nguồn gốc định tuyến đến từng vị trí trong phản hồi.

Theo mặc định, tính năng Tìm kiếm bằng văn bản (Mới) sẽ 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 hai mảng: mảng places chứa các địa điểm trùng khớp và mảng routingSummaries chứa thời lượng và khoảng cách di chuyển đến từng địa điểm:

{
  "places": [
    {
      "formattedAddress": "1477 Plymouth St suite c, Mountain View, CA 94043, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Zareen's",
        "languageCode": "en"
      }
    },
    {
      "formattedAddress": "2464 W El Camino Real C, Mountain View, CA 94040, USA",
      "priceLevel": "PRICE_LEVEL_INEXPENSIVE",
      "displayName": {
        "text": "Veggie Garden",
        "languageCode": "en"
      }
    },
   …
],
  "routingSummaries": [
    {
      "legs": [
        {
          "duration": "285s",
          "distanceMeters": 1616
        },
        {
          "duration": "2466s",
          "distanceMeters": 58147
        }
      ]
    },
    {
      "legs": [
        {
          "duration": "696s",
          "distanceMeters": 4704
        },
        {
          "duration": "2787s",
          "distanceMeters": 58901
        }
      ]
    },
   …
  ]
}

Đối với mỗi mục nhập trong mảng legs, tính năng Tìm kiếm văn bản (Mới) sẽ trả về một chuyến đi hai chặng thời gian:

  • Chặng đầu tiên chứa thời gian đi lại và khoảng cách từ điểm khởi hành đến địa điểm đó. Trong ví dụ này, thời lượng và khoảng cách từ điểm gốc đến vị trí đầu tiên trong kết quả là 285 giây và 1616 mét.

  • Chặng thứ hai chứa thời gian đi lại và khoảng cách từ địa điểm đến điểm đến 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 xuất phát định tuyến, chế độ di chuyển và đối tượng sửa đổi tuyến đường

Bạn có thể sửa đổi phép tính tóm tắt tìm kiếm và định tuyến bằng cách chỉ định điểm khởi hành định tuyến, phương tiện đi lại, bộ sửa đổi tuyến đường và các tuỳ chọn định tuyến. Chiến lược phát hành đĩa đơn phương tiện đi lại và các đối tượng sửa đổi tuyến đường hoạt động giống như khi tính toán định tuyến mà không chỉ định tuyến đường như được hiển thị trong phần Chỉ định cách di chuyển .

Theo mặc định, chặng đầu tiên của mỗi kết quả chứa khoảng cách từ nguồn gốc được xác định bằng hình nhiều đường cho mỗi địa điểm. Tuy nhiên, bạn có thể ghi đè giá trị mặc định đó bằng cách chỉ định rõ nguồn gốc định tuyến 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 khoảng cách và thời lượng từ điểm xuất phát định tuyến được chỉ định, ghi đè điểm xuất phát từ đường đa tuyến.

Trong ví dụ tiếp theo, bạn chỉ định điểm xuất phát định tuyến là toạ độ của San Mateo, California, chỉ định tránh đường có 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 hiển thị một bản đồ có chứa hình nhiều đường, điểm xuất phát mới (ghim màu xanh dương nhạt) và địa điểm trong kết quả tìm kiếm (ghim màu xanh lục). Lưu ý cách thực hiện tất cả kết quả đều dọc theo tuyến đường nhưng qua San Mateo:

Kết quả tìm kiếm trên máy chủ gốc của bản cập nhật.