Tính toán thông tin tóm tắt về định tuyến
Cách sử dụng tính năng Tìm kiếm bằng văn bản (Mới) hoặc Tìm kiếm địa điểm lân cận (Mới) để tính thời gian di chuyển và khoảng cách đến từng địa điểm trong câu trả lời:
-
Truyền tham số
routingParameters.origin
trong yêu cầu để chỉ định tọa độ vĩ độ và kinh độ của điểm xuất phát định tuyến. Bạn bắt buộc phải sử dụng tham số này để tính toán thời lượng và khoảng cách đến từng địa điểm trong phản hồi. -
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:
Sử dụng tính năng Tìm kiếm bằng văn bản (Mới)
Trong yêu cầu sau, bạn tính thời gian di chuyển và khoảng cách đến từng địa điểm trong phản hồi Tìm kiếm bằng văn bản (Mới):
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -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 JSON: 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": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Mỗi phần tử trong mảng routingSummaries
nằm ở vị trí mảng tương ứng như vị trí trong mảng places
. Tức là phần tử tại routingSummaries[0]
tương ứng với vị trí tại places[0]
.
Độ dài mảng của routingSummaries
giống với độ dài mảng của places
. Trong trường hợp không có routingSummary
cho một địa điểm, mục nhập mảng sẽ trống.
Vì ví dụ này tính toán 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, nên trường routingSummaries.legs
trong phản hồi chứa một đối tượng Leg
chứa duration
và distanceMeters
từ điểm xuất phát định tuyến đến địa điểm.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Từ ví dụ này, bạn có thể thấy rằng thời lượng và khoảng cách từ điểm xuất phát định tuyến đến vị trí đầu tiên trong kết quả là 597 giây và 2607 mét.
Sử dụng tính năng Tìm kiếm lân cận
Trong ví dụ này, bạn sẽ tính thời gian di chuyển và khoảng cách đến từng địa điểm trong phản hồi Tìm kiếm lân cận. Ví dụ này tìm kiếm nhà hàng ở Sydney, Australia và đặt giới hạn vị trí và điểm xuất phát định tuyến thành cùng một toạ độ vĩ độ và kinh độ:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": -33.8688, "longitude": 151.1957362}, "radius": 500.0 } }, "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \ -H "X-Goog-FieldMask: places.displayName,routingSummaries" \ https://places.googleapis.com/v1/places:searchNearby
Bạn không nhất thiết phải sử dụng cùng một toạ độ cho locationRestriction
và nguồn định tuyến. Ví dụ: bạn đặt locationRestriction
thành tâm của Sydney để thiên lệch kết quả tìm kiếm về vòng tròn đó. Nhưng sau đó, bạn đặt nguồn định tuyến thành toạ độ của nhà bạn, nghĩa là một vị trí khác trong vòng tròn tìm kiếm. Sau đó, yêu cầu này sẽ thiên vị kết quả tìm kiếm cho vòng tròn và tính toán bản tóm tắt định tuyến dựa trên vị trí của nhà bạn.
Chỉ định các lựa chọn đi lại
Theo mặc định, thời gian và quãng đường được tính cho ô tô. Tuy nhiên, bạn có thể kiểm soát loại xe cũng như các tuỳ chọn khác trong kết quả tìm kiếm.
-
Sử dụng tham số
routingParameters.travelMode
để đặt phương thức di chuyển thànhDRIVE
,BICYCLE
,WALK
hoặcTWO_WHEELER
. Để biết thêm thông tin về các tuỳ chọn này, hãy xem phần Các loại xe hiện có cho tuyến đường. -
Sử dụng thuộc tính
routingParameters.routingPreference
để đặt tuỳ chọn ưu tiên định tuyến thànhTRAFFIC_UNAWARE
(mặc định),TRAFFIC_AWARE
hoặcTRAFFIC_AWARE_OPTIMAL
. Mỗi tuỳ chọn có mức độ chất lượng dữ liệu và độ trễ khác nhau. Để biết thêm thông tin, hãy xem phần Chỉ định cách và liệu có nên đưa dữ liệu lưu lượng truy cập vào hay không.Thuộc tính
routingParameters.routingPreference
ảnh hưởng đến các chỉ dẫn có trong trườngdirectionsUri
Xem trước (Trước khi phát hành công khai) vì Google Maps hiển thị các lựa chọn về tình trạng giao thông khi mở đường liên kết. -
Sử dụng thuộc tính
routingParameters.routeModifiers
để chỉ định choavoidTolls
,avoidHighways
,avoidFerries
vàavoidIndoor
. Để biết thêm thông tin về các tuỳ chọn này, hãy xem phần Chỉ định các đặc điểm tuyến đường cần tránh.
Trong ví dụ tiếp theo, bạn chỉ định chế độ đi lại là DRIVE
và tránh xa đường cao tốc:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "routingParameters": { "origin": { "latitude": -33.8688, "longitude": 151.1957362 }, "travelMode":"DRIVE", "routeModifiers": { "avoidHighways": 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ã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.