Trả về tuyến đường chính cùng với các tuyến thay thế không bắt buộc, với một tập hợp các điểm tham chiếu đầu cuối và trung gian.
LƯU Ý: Phương thức này yêu cầu bạn chỉ định một mặt nạ trường phản hồi trong dữ liệu đầu vào. Bạn có thể cung cấp mặt nạ trường phản hồi bằng cách sử dụng tham số URL $fields
hoặc fields
hoặc bằng cách sử dụng tiêu đề HTTP/gRPC X-Goog-FieldMask
(xem các tham số và tiêu đề URL có sẵn. Giá trị này là một danh sách các đường dẫn trường được phân tách bằng dấu phẩy. Xem tài liệu chi tiết về cách tạo đường dẫn trường.
Ví dụ: trong phương thức này:
- Mặt nạ trường của tất cả các trường có sẵn (để kiểm tra thủ công):
X-Goog-FieldMask: *
- Mặt nạ trường thể hiện thời lượng, khoảng cách và hình nhiều đường ở cấp tuyến đường (ví dụ về cách thiết lập bản phát hành chính thức):
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline
Google không khuyến khích việc sử dụng mặt nạ trường phản hồi ký tự đại diện (*
) hoặc chỉ định mặt nạ trường ở cấp cao nhất (routes
), vì:
- Việc chỉ chọn những trường bạn cần sẽ giúp máy chủ của chúng tôi lưu chu kỳ tính toán, nhờ đó chúng tôi có thể trả lại kết quả cho bạn với độ trễ thấp hơn.
- Bạn chỉ nên chọn những trường mà bạn cần trong công việc phát hành công khai để đảm bảo hiệu suất ổn định về độ trễ. Chúng tôi có thể thêm các trường phản hồi khác trong tương lai và những trường mới đó có thể cần thêm thời gian tính toán. Nếu bạn chọn tất cả các trường hoặc chọn tất cả các trường ở cấp cao nhất, thì hiệu suất của bạn có thể bị suy giảm vì mọi trường mới mà chúng tôi thêm đều sẽ tự động được đưa vào câu trả lời.
- Việc chỉ chọn các trường bạn cần sẽ giúp kích thước phản hồi nhỏ hơn, từ đó giúp thông lượng mạng cao hơn.
Yêu cầu HTTP
POST https://routespreferred.googleapis.com/v1:computeRoutes
URL sử dụng cú pháp Chuyển mã gRPC.
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
Biểu diễn dưới dạng JSON |
---|
{ "origin": { object ( |
Trường | |
---|---|
origin |
Bắt buộc. Điểm tham chiếu gốc. |
destination |
Bắt buộc. Điểm tham chiếu đích. |
intermediates[] |
Không bắt buộc. Một tập hợp các điểm tham chiếu dọc theo tuyến đường (không bao gồm các điểm cuối), để dừng tại hoặc đi ngang qua. Hỗ trợ tối đa 25 điểm tham chiếu trung gian. |
travelMode |
Không bắt buộc. Xác định phương thức di chuyển. |
routingPreference |
Không bắt buộc. Chỉ định cách tính toán tuyến. Máy chủ cố gắng sử dụng lựa chọn ưu tiên định tuyến đã chọn để tính toán tuyến đường. Nếu lựa chọn ưu tiên định tuyến gây ra lỗi hoặc độ trễ lâu hơn thì hệ thống sẽ trả về lỗi. Trong tương lai, chúng tôi có thể triển khai cơ chế dự phòng để sử dụng tuỳ chọn khác khi tuỳ chọn ưu tiên không cho kết quả hợp lệ. Bạn chỉ có thể chỉ định tuỳ chọn này khi |
polylineQuality |
Không bắt buộc. Chỉ định lựa chọn ưu tiên của bạn về chất lượng hình nhiều đường. |
polylineEncoding |
Không bắt buộc. Chỉ định phương thức mã hoá ưu tiên cho hình nhiều đường. |
departureTime |
Không bắt buộc. Thời gian khởi hành. Nếu bạn không đặt giá trị này thì giá trị mặc định sẽ là thời gian bạn yêu cầu. Nếu bạn đặt giá trị này thành thời gian đã xảy ra, thì yêu cầu sẽ không thành công. Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 9 chữ số phân số. Ví dụ: |
computeAlternativeRoutes |
Chỉ định xem có tính toán các tuyến thay thế ngoài tuyến đường hay không. |
routeModifiers |
Không bắt buộc. Một tập hợp các điều kiện để đáp ứng điều kiện ảnh hưởng đến cách tính toán các tuyến đường. |
languageCode |
Không bắt buộc. Mã ngôn ngữ BCP-47, chẳng hạn như "en-US" hoặc "sr-Latn". Để biết thêm thông tin, hãy truy cập vào http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Hãy xem phần Hỗ trợ ngôn ngữ để biết danh sách các ngôn ngữ được hỗ trợ. Khi bạn không cung cấp giá trị này, ngôn ngữ hiển thị sẽ được suy ra từ vị trí của yêu cầu tuyến. |
units |
Không bắt buộc. Chỉ định đơn vị đo lường cho các trường hiển thị. bao gồm cả trường |
optimizeWaypointOrder |
Nếu bạn đặt OptimizeWaypointOrder thành true, thì hệ thống sẽ cố gắng sắp xếp lại các điểm tham chiếu trung gian được chỉ định nhằm giảm thiểu tổng chi phí của tuyến. Nếu có bất kỳ điểm tham chiếu trung gian nào là qua điểm tham chiếu thì yêu cầu sẽ không thành công. Sử dụng ComputeRoutesResponse.Routes.optimize_ trước_waypoint_index để tìm thứ tự mới. Nếu không yêu cầu thoát.optimize_ chéo_waypoint_index trong tiêu đề |
Nội dung phản hồi
Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của ComputeRoutesResponse
.
Phạm vi cấp phép
Yêu cầu phạm vi OAuth sau:
https://www.googleapis.com/auth/maps-platform.routespreferred
Để biết thêm thông tin, hãy xem bài viết Tổng quan về OAuth 2.0.