Tính toán thông tin tóm tắt về tuyến đường
Cách sử dụng Tìm kiếm văn bản (Mới) hoặc Nearby Search (Mới) để tính toán thời gian di chuyển và khoảng cách đến từng địa điểm trong phản hồi:
-
Truyền tham số
routingParameters.origintrong yêu cầu để chỉ định toạ độ vĩ độ và kinh độ của điểm xuất phát. Tham số này là bắt buộc để tính toán thời gian và khoảng cách đến từng địa điểm trong phản hồi. -
Đưa
routingSummariesvào mặt nạ trường để phản hồi bao gồm mảngroutingSummaries. Mảng này chứa thời gian và khoảng cách từ điểm xuất phát đế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:
Sử dụng Tìm kiếm văn bản (Mới)
Trong yêu cầu sau đây, bạn sẽ tính toán 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 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 2 mảng JSON: mảng places chứa các địa điểm phù hợp và mảng routingSummaries chứa thời gian 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 với địa điểm trong mảng places. Tức là phần tử tại routingSummaries[0] tương ứng với địa điểm 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 gian và khoảng cách từ điểm xuất phát đế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 duy nhất chứa duration và distanceMeters từ điểm xuất phát đế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 gian và khoảng cách từ điểm xuất phát đến địa điểm đầu tiên trong kết quả là 597 giây và 2.607 mét.
Sử dụng Nearby Search
Trong ví dụ này, bạn sẽ tính toán 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 các nhà hàng ở Sydney, Úc và đặt giới hạn vị trí cũng như điểm xuất phát theo 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:searchNearbyBạn không cần phải sử dụng cùng một toạ độ cho locationRestriction và điểm xuất phát. Ví dụ: bạn đặt locationRestriction thành điểm trung tâm của Sydney để làm lệch kết quả tìm kiếm về vòng tròn đó. Tuy nhiên, sau đó, bạn đặt điểm xuất phát thành toạ độ nhà của mình, tức là một vị trí khác trong vòng tròn tìm kiếm. Sau đó, yêu cầu sẽ làm lệch kết quả tìm kiếm về vòng tròn và tính toán thông tin tóm tắt về tuyến đường dựa trên vị trí nhà của bạn.
Chỉ định các lựa chọn di chuyển
Theo mặc định, các phép tính thời gian và khoảng cách là dành cho ô tô. Tuy nhiên, bạn có thể kiểm soát loại xe cũng như các lựa chọn khác trong tìm kiếm.
-
Sử dụng tham số
routingParameters.travelModeđể đặt chế độ di chuyển thànhDRIVE,BICYCLE,WALK, hoặcTWO_WHEELER. Để biết thêm thông tin về các lựa chọn này, hãy xem bài viết Các loại xe có sẵn cho tuyến đường. -
Sử dụng thuộc tính
routingParameters.routingPreferenceđể đặt lựa chọn ưu tiên về tuyến đường thànhTRAFFIC_UNAWARE(mặc định),TRAFFIC_AWAREhoặcTRAFFIC_AWARE_OPTIMAL. Mỗi lựa 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 bài viết Chỉ định cách và liệu có nên đưa dữ liệu giao thông vào hay không.Thuộc tính
routingParameters.routingPreferencecó ảnh hưởng đến chỉ đường có trong trườngdirectionsUri(Bản xem trước – giai đoạn trước khi phát hành rộng rãi) vì Google Maps hiển thị các lựa chọn giao thông khi mở đường liên kết. -
Sử dụng thuộc tính
routingParameters.routeModifiersđể chỉ địnhavoidTolls,avoidHighways,avoidFerries, vàavoidIndoor. Để biết thêm thông tin về các lựa chọn này, hãy xem bài viết Chỉ định các đặc điểm của tuyến đường cần tránh.
Trong ví dụ tiếp theo, bạn sẽ chỉ định chế độ di chuyển là DRIVE và tránh đườ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 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.
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.
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 để đưa ra yêu cầu.
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.