Kết hợp thông tin tóm tắt về tuyến đường với tính năng tìm dọc theo tuyến đường
Bạn có thể kết hợp tính năng tính toán tóm tắt tuyến đường 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 bằng văn bản (Mới) sẽ trả về thời gian và quãng đường di chuyển đến từng nơi trong phản hồi, sau đó từ mỗi nơi đế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 trên một tuyến đường:
-
Sử dụng API Routes để tính toán một tuyến đường trả về một đa tuyến đường trong phản hồi.
-
Sử dụng thông số
searchAlongRouteParameters.polyline.encodedPolyline
để truyền đường đa tuyến của tuyến đường đến tính năng Tìm kiếm bằng văn bản (Mới) nhằm thiên vị kết quả tìm kiếm cho tuyến đường. Sau đó, phản hồi sẽ chứa những đị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. -
Thêm
routingSummaries
vào mặt nạ trường để phản hồi bao gồm một mảngroutingSummaries
. Mảng này chứa thời lượng và khoảng cách từ điểm xuất phát định tuyến đến từng địa điểm trong phản hồi.
Trình khám phá API cho phép bạn tạo các yêu cầu trực tiếp để 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 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": "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ính năng Tìm kiếm bằng văn bản (Mới) sẽ trả về thời gian đi hai chặng:
-
Chuyến bay đầu tiên chứa thời gian di chuyển và khoảng cách từ điểm xuất phát đến điểm đến. Trong ví dụ này, thời lượng và khoảng cách từ điểm xuất phát đến vị trí đầu tiên trong kết quả là 285 giây và 1616 mét.
-
Chuyến bay thứ hai chứa thời gian di chuyển và quãng đường từ vị trí đến đích đế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 cách tính toán thông tin tóm tắt về tìm kiếm và định tuyến bằng cách chỉ định điểm xuất phát định tuyến, phương thức đi lại, đối tượng sửa đổi tuyến đường và lựa chọn ưu tiên về định tuyến. Chế độ đi lại và đối tượng sửa đổi tuyến hoạt động giống như khi tính toán bản tóm tắt tuyến đường mà không chỉ định tuyến đường như trong chủ đề Chỉ định tuỳ chọn đi lại.
Theo mặc định, chặng đầu tiên của mỗi kết quả chứa khoảng cách từ điểm gốc do đường đa tuyến 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õ nguồn đị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 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 đường đa tuyến của tuyến đường, điểm xuất phát mới (ghim màu xanh dương 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 nằm ngoài San Mateo:
Hãy dùng thử!
Trình khám phá API 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.
Chọn biểu tượng API api ở bên phải trang.
Bạn có thể chỉnh sửa các tham số yêu cầu (không bắt buộc).
Chọn nút Thực thi. Trong hộp thoại, hãy chọn tài khoản mà bạn muốn sử dụng để gửi yêu cầu.
Trong bảng điều khiển Trình khám phá API, hãy chọn biểu tượng toàn màn hình fullscreen để mở rộng cửa sổ Trình khám phá API.