Tại sao bạn nên chuyển sang dùng API Tuyến đường?

API Tuyến đường cải thiện hiệu suất để tính toán đường đi, khoảng cách và thời gian di chuyển, vì vậy, đáng để thay thế các ứng dụng hiện đang sử dụng API Chỉ dẫn và API Ma trận khoảng cách. Hầu hết chức năng của API tuyến đường đều tương thích ngược với cả API chỉ dẫn và API ma trận khoảng cách.

Hãy sử dụng hướng dẫn này để tìm hiểu những điểm khác biệt chính về API Tuyến đường so với các sản phẩm mà API này thay thế, cùng với cách xử lý các thay đổi cần thiết. Để biết thêm thông tin chi tiết về các tính năng khác của API Tuyến đường, hãy xem nội dung tổng quan về sản phẩm.

Các điểm cải tiến chính

Phần này trình bày một số tính năng nâng cao mà bạn có thể mong đợi khi sử dụng API Tuyến đường trong ứng dụng.

Hạn mức yêu cầu cao hơn

API Bộ định tuyến
  • Tối đa 625 phần tử, trừ phi bạn chỉ định TRAFFIC_AWARE_OPTIMAL.
  • Tối đa 100 phần tử có TRAFFIC_AWARE_OPTIMAL. Xem Lựa chọn ưu tiên về định tuyến nâng cao.
  • Tối đa 50 điểm tham chiếu (nguồn gốc + điểm đến) sử dụng mã địa điểm.
API ma trận khoảng cách
  • Tối đa 25 điểm gốc hoặc 25 đích đến mỗi yêu cầu.
  • Tối đa 100 phần tử (số lượng nguồn gốc × số lượng đích đến) cho mỗi yêu cầu phía máy chủ.

Phản hồi yêu cầu nhanh hơn

Tính năng ma trận tuyến tính toán giúp cải thiện độ trễ như sau:

  • Nhận các phần tử truyền trực tuyến của phản hồi trước khi toàn bộ ma trận được tính toán.
  • Sử dụng mặt nạ trường (field mask) để tuỳ chỉnh thông tin phản hồi (chỉ yêu cầu dữ liệu cần thiết). Đây cũng là một phương pháp hay nhất giúp giảm chi phí.
  • Tính toán nâng cao về tuyến đường cho lưu lượng truy cập, nhờ đó, bạn có thể phải cân nhắc giữa chất lượng dữ liệu và thời gian phản hồi.

Cải tiến việc định tuyến

Tính năng định tuyến điện toán mang đến những tính năng nâng cao giúp định tuyến sau đây:

  • Thông tin cầu đường ngoài khoảng cách và thời gian đến dự kiến.
  • Tuyến đường dành cho xe 2 bánh.
  • Đánh giá chất lượng các điểm dừng của bạn để đảm bảo an toàn.
  • Tăng độ chính xác của ETA bằng cách đặt hướng đi và cạnh đường cho các điểm tham chiếu.

Chỉ yêu cầu dữ liệu bạn cần

Bây giờ, bạn sẽ chỉ định những trường cần trả về, giúp giảm thời gian xử lý và phí thanh toán.

API Bộ định tuyến Các yêu cầu của bạn phải sử dụng mặt nạ trường (field mask) để chỉ định những trường mà bạn muốn trả về trong phản hồi. Tính năng ẩn giấu trường đảm bảo rằng bạn không yêu cầu dữ liệu không cần thiết, giúp tránh thời gian xử lý và phí thanh toán không cần thiết.
Để biết thêm thông tin, hãy xem phần Chọn các trường cần trả về.
API chỉ đường
API ma trận khoảng cách
Trả về danh sách các trường mặc định, ngay cả khi ứng dụng của bạn không thực sự cần các trường đó. Việc này có thể dẫn đến thời gian xử lý và phí thanh toán không cần thiết.

Tính toán tuyến đường nâng cao cho lưu lượng truy cập

API Tuyến đường hỗ trợ 3 tuỳ chọn định tuyến mà bạn có thể sử dụng để cân bằng giữa độ trễ phản hồi và chất lượng dữ liệu khi yêu cầu thông tin về lưu lượng truy cập.

Để biết thêm thông tin, hãy xem bài viết Định cấu hình chất lượng và độ trễ.

TRAFFIC_UNAWARE
(mặc định)
Sử dụng dữ liệu về lưu lượng truy cập không phụ thuộc vào thời gian trung bình, chứ không phải dữ liệu giao thông trực tiếp, để tính toán tuyến đường, nhờ đó có độ trễ phản hồi thấp nhất. Chế độ cài đặt này tương đương với khi không sử dụng lưu lượng truy cập trong API Chỉ dẫn và API Ma trận khoảng cách.
TRAFFIC_AWARE
(mới)
Chất lượng lưu lượng truy cập trực tiếp được tối ưu hoá cho hiệu suất để giảm độ trễ. Trái ngược với TRAFFIC_AWARE_OPTIMAL, chế độ cài đặt này áp dụng các tính năng tối ưu hoá để giảm đáng kể độ trễ. Đây cũng là chế độ cài đặt mới đối với API Tuyến đường và không có chế độ cài đặt tương đương trong API Chỉ dẫn hoặc API ma trận khoảng cách.
TRAFFIC_AWARE_OPTIMAL Dữ liệu lưu lượng truy cập toàn diện, chất lượng cao. Chế độ cài đặt này tạo ra độ trễ cao nhất và tương đương với chế độ cài đặt departure_time trong Directions API và API ma trận khoảng cách.
Lựa chọn ưu tiên này tương đương với chế độ mà maps.google.com và ứng dụng Google Maps sử dụng.

So sánh tính toán tuyến đường

Bảng sau đây so sánh các tuỳ chọn định tuyến giữa các dịch vụ Routes API (API Bộ định tuyến) và API Chỉ đường cũng như các dịch vụ API Ma trận khoảng cách.

Lựa chọn về giao thông Routes API API chỉ đường
API ma trận khoảng cách
Độ trễ
Không có giao thông theo thời gian thực TRAFFIC_UNAWARE Chưa đặt thuộc tính departure_time Độ trễ nhanh nhất trong 3 chế độ.
Đã áp dụng điều kiện giao thông trực tiếp TRAFFIC_AWARE Không có phiên bản mới

Chế độ mới do API Tuyến đường thêm vào. Phương thức này có độ trễ lớn hơn một chút so với TRAFFIC_UNAWARE với chi phí nhỏ về chất lượng ETA.

Lớp này có độ trễ thấp hơn nhiều so với TRAFFIC_AWARE_OPTIMAL.

Áp dụng dữ liệu lưu lượng truy cập trực tiếp toàn diện, chất lượng cao TRAFFIC_AWARE_OPTIMAL Nhóm tài sản departure_time

Tương đương với chế độ mà maps.google.com và ứng dụng Google Maps sử dụng.

Đối với Ma trận tuyến tính toán, số lượng phần tử trong một yêu cầu (số lượng gốc × số lượng đích đến) không được vượt quá 100.

Các điểm khác biệt chính

Phần này trình bày những điểm khác biệt chính giữa API Tuyến đường và các dịch vụ mà API này sẽ thay thế, cùng với cách bạn có thể giải quyết những khác biệt này khi di chuyển từ các dịch vụ này trong các ứng dụng hiện có của mình.

Gọi một dịch vụ thay vì hai dịch vụ

API Bộ định tuyến Chỉ bật một dịch vụ trong Bảng điều khiển API cho ứng dụng của bạn để sử dụng Ma trận tính toán và Tuyến tính toán.
Để biết thêm thông tin, hãy xem phần Thiết lập trong Bảng điều khiển API của Google.
API chỉ đường
API ma trận khoảng cách
Bật 2 dịch vụ: API Chỉ dẫn và API ma trận khoảng cách dưới dạng các dịch vụ riêng biệt trong Bảng điều khiển API.

Sử dụng HTTPS POST yêu cầu

API Bộ định tuyến Truyền các tham số vào nội dung yêu cầu hoặc vào tiêu đề như một phần của yêu cầu HTTP POST.
Để tham khảo ví dụ, hãy xem:
Tính toán tuyến đường
Tính toán ma trận tuyến
API chỉ đường
API ma trận khoảng cách
Truyền các tham số URL bằng yêu cầu HTTP GET.

Sự khác biệt về phản hồi đối với ETA

API Tuyến đường trả về giờ đến dự kiến (ETA) và sử dụng thuộc tính phản hồi duration khác với dịch vụ API Chỉ dẫn và API ma trận khoảng cách như minh hoạ trong bảng dưới đây.

Loại thời gian đến dự kiến Routes API API chỉ đường
API ma trận khoảng cách
ETA không xác định, không phụ thuộc vào thời gian.

Đặt bằng TRAFFIC_UNAWARE.

  • ETA nằm trong thuộc tính phản hồi duration.
  • Các thuộc tính phản hồi durationstaticDuration chứa cùng một giá trị.

Tương ứng với departure_time không được đặt trong yêu cầu.

  • ETA nằm trong thuộc tính phản hồi duration.
  • Thuộc tính phản hồi duration_in_traffic sẽ không được trả về.
Giờ đến dự kiến có xem xét lưu lượng truy cập theo thời gian thực.

Đặt bằng cách sử dụng TRAFFIC_AWARE hoặc TRAFFIC_AWARE_OPTIMAL.

  • ETA có tính đến lưu lượng truy cập theo thời gian thực nằm trong thuộc tính phản hồi duration.
  • Thuộc tính phản hồi staticDuration chứa thông tin về thời gian di chuyển trong tuyến đường mà không tính đến tình trạng giao thông.
  • Thuộc tính duration_in_traffic không còn được trả về nữa.

Đặt bằng cách sử dụng departure_time trong yêu cầu.

  • ETA có tính đến lưu lượng truy cập theo thời gian thực nằm trong thuộc tính phản hồi duration_in_traffic.

Điểm tham chiếu hình nhiều đường

Bạn không cần chuyển đổi vĩ độ/kinh độ của mình sang điểm nhiều đường bằng dịch vụ này, dịch vụ này có hỗ trợ nội dung yêu cầu POST và do đó không còn bị ảnh hưởng bởi giới hạn chuỗi URL. Một số người dùng API Ma trận khoảng cách đã giải quyết vấn đề về giới hạn về yêu cầu bằng cách chuyển đổi điểm vĩ độ/kinh độ thành điểm tham chiếu nhiều đường.

Địa chỉ được định dạng (đảo ngược mã địa lý)

API Tuyến đường không cung cấp địa chỉ đã định dạng trong phản hồi. Để nhận địa chỉ đã định dạng, hãy sử dụng API mã hoá địa lý được tạo cho trường hợp sử dụng này và cung cấp kết quả chất lượng cao hơn.

Các phương tiện đi lại hiện có

Tương tự như với API Chỉ dẫn, API Tuyến đường sẽ sử dụng DRIVE làm chế độ mặc định khi yêu cầu tuyến đường không chỉ định chế độ đi lại. Tuy nhiên, khi một yêu cầu chỉ định phương tiện đi lại cho một tuyến đường, thì API Tuyến đường sẽ không trả về một mảng các phương tiện di chuyển có sẵn làm lựa chọn thay thế cho yêu cầu. Nếu trường hợp sử dụng của bạn dựa vào tính năng này, hãy gửi vấn đề mô tả cách bạn sử dụng tính năng này để chúng tôi có thể theo dõi.

XML làm định dạng phản hồi

API Tuyến đường không cung cấp XML dưới dạng định dạng phản hồi. Bạn có thể tìm thấy một số trình chuyển đổi JSON sang XML trên mạng phù hợp với mục đích của mình.