Hướng dẫn này cho bạn biết cách truy xuất dữ liệu chuyến đi trực tiếp từ Công cụ quản lý đội xe, thay vì sử dụng SDK dành cho người dùng. Bạn có thể sử dụng phương pháp này để kiểm soát tốt hơn trải nghiệm người dùng cuối mà vẫn tận dụng được thông tin vị trí xe chính xác và theo thời gian thực của Fleet Engine, giờ đến dự kiến cũng như tuyến đường.
Để biết thông tin chi tiết về cách sử dụng SDK dành cho người dùng, hãy xem phần Chia sẻ hành trình cho các chuyến đi theo yêu cầu.
Truy xuất thông tin chuyến đi
Để truy xuất trực tiếp thông tin chuyến đi từ Fleet Engine, hãy gọi phương thức GetTrip
, chỉ định khung hiển thị JOURNEY_SHARING_V1S
. Hãy xem tài liệu tham khảo về RPC hoặc REST.
Máy chủ của bạn thường sẽ thăm dò dịch vụ chuyến đi để biết trạng thái của mỗi chuyến đi trong khi người lái xe đang chủ động theo dõi tiến trình của xe. Quá trình cập nhật vị trí cho xe thường diễn ra 10 giây một lần và hệ thống sẽ thăm dò ý kiến ở cùng tốc độ đó. Bạn có thể theo dõi trường Trip.last_location.update_time
để xem có bản cập nhật nào kể từ lệnh gọi trước đó đến GetTrip
hay không.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
Đối tượng Trip
thu được có các trường sau đây được điền sẵn thông tin mới nhất cho chuyến đi:
name |
trip_status |
remaining_waypoints |
vehicle_id |
trip_type |
last_location |
number_of_passengers |
pickup_point |
view (== JOURNEY_SHARING_V1S) |
actual_pickup_point |
intermediate_destinations |
intermediate_destination_index |
pickup_time |
intermediate_destinations_version |
dropoff_point |
actual_dropoff_point |
dropoff_time |
|
Truy xuất các điểm tham chiếu chuyến đi còn lại
Thực thể Chuyến đi chứa một trường lặp lại thuộc loại TripWaypoint
. Trường này bao gồm tất cả các điểm trung gian mà xe sẽ cần đi qua, theo thứ tự, trước khi đến điểm trả khách cuối cùng của chuyến đi này. Việc chỉ định chế độ xem Chia sẻ hành trình sẽ yêu cầu
Công cụ quản lý đội xe đặt thông tin cập nhật trong remaining_waypoints[0]
TripWaypoint
. Trong các chế độ xem khác không phải là Chia sẻ hành trình, điểm trung gian đó thường không phản ánh vị trí mới nhất của xe được chỉ định. Xem tài liệu tham khảo cho RPC hoặc REST.
Để biết thêm thông tin, hãy xem phần Trạng thái chuyến đi và các điểm trung gian còn lại của xe trong hướng dẫn Giới thiệu về chuyến đi.
Dưới đây là ví dụ về trường remaining_waypoints
cho một chuyến đi, Chuyến đi A:
| |||||||||||||||||||||
|
Đối với các chuyến đi khứ hồi và chuyến đi gộp chung, danh sách này có thể chứa các điểm tham chiếu của các chuyến đi khác sẽ được di chuyển trước hành trình này. Ví dụ: hãy xem xét trường hợp Chuyến đi B được chỉ định cho cùng một xe với Chuyến đi A. Sau đó, trường remaining_waypoints
cho Chuyến đi A sẽ được điền như sau.
Để ngắn gọn, hầu hết các trường đều bị bỏ qua, nhưng các trường này sẽ được điền theo ví dụ trước.
[0] | Trip_id = "trip_A" |
---|---|
waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | Trip_id = "trip_B" |
điểm tham chiếu = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | Trip_id = "trip_A" |
tham chiếu_type = DROP_OFF_WAYPOINT_TYPE |
Trường remaining_waypoint
của Chuyến đi B sẽ được điền tương tự, nhưng chỉ có ba mục nhập đầu tiên xuất hiện, vì điểm trả của Chuyến đi A không phải là một phần trong tuyến đường của Chuyến đi B.