Method: computeRouteMatrix

Nhận danh sách các điểm xuất phát và điểm đến, sau đó trả về một luồng chứa thông tin tuyến đường cho mỗi tổ hợp điểm xuất phát và điểm đến.

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 tiêu đề HTTP/gRPC X-Goog-FieldMask (xem các tham số và tiêu đề URL có sẵn. Giá trị này là danh sách đường dẫn trường được phân tách bằng dấu phẩy. Hãy xem tài liệu chi tiết này 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 tuyến đường, khoảng cách, trạng thái phần tử, điều kiện và chỉ mục phần tử (ví dụ về chế độ thiết lập phiên bản chính thức): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Bạn cần phải đưa status vào mặt nạ trường, nếu không tất cả thông báo sẽ xuất hiện là OK. Google không khuyến khích sử dụng mặt nạ trường phản hồi ký tự đại diện (*) vì:

  • Việc chỉ chọn những trường bạn cần giúp máy chủ của chúng tôi tiết kiệm được chu kỳ tính toán, cho phép chúng tôi trả về kết quả cho bạn với độ trễ thấp hơn.
  • Việc chỉ chọn những trường mà bạn cần trong công việc sản xuất sẽ đảm bảo hiệu suất độ trễ ổn định. Chúng tôi có thể thêm các trường phản hồi khác trong tương lai và các trường mới đó có thể cần thêm thời gian tính toán. Nếu chọn tất cả các trường hoặc nếu chọn tất cả các trường ở cấp cao nhất, thì bạn có thể thấy hiệu suất giảm vì mọi trường mới mà chúng tôi thêm vào sẽ tự động được đưa vào phản hồ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:computeRouteMatrix

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
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
Trường
origins[]

object (RouteMatrixOrigin)

Bắt buộc. Mảng nguồn gốc xác định các hàng của ma trận phản hồi. Một số quy định hạn chế về kích thước áp dụng cho số lượng giá trị riêng biệt của nguồn và đích:

  • Trong mọi trường hợp, số lượng phần tử (nguồn gốc × đích đến) không được vượt quá 625.
  • Số lượng phần tử (nguồn gốc × đích đến) không được lớn hơn 100 nếu bạn đặt routingPreference thành TRAFFIC_AWARE_OPTIMAL.
  • Số lượng điểm trung gian (điểm xuất phát + điểm đến) được chỉ định là placeId không được lớn hơn 50.
destinations[]

object (RouteMatrixDestination)

Bắt buộc. Mảng đích xác định các cột của ma trận phản hồi.

travelMode

enum (RouteTravelMode)

Không bắt buộc. Chỉ định phương tiện giao thông.

routingPreference

enum (RoutingPreference)

Không bắt buộc. Chỉ định cách tính toán tuyến đường. 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 dẫn đến lỗi hoặc độ trễ quá lâu, thì hệ thống sẽ trả về lỗi. Bạn chỉ có thể chỉ định tuỳ chọn này khi travelModeDRIVE hoặc TWO_WHEELER, nếu không yêu cầu sẽ không thành công.

departureTime

string (Timestamp format)

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 một thời điểm đã xảy ra, yêu cầu sẽ không thành công.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, có độ phân giải nano giây và tối đa 9 chữ số thập phân. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

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 luồng các thực thể RouteMatrixElement.

Phạm vi uỷ quyền

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.