Truy xuất dữ liệu chuyến đi trực tiếp từ Fleet Engine

Hướng dẫn này trình bày cách truy xuất dữ liệu chuyến đi trực tiếp từ Fleet Engine, dưới dạng thay thế cho việc sử dụng SDK người tiêu dùng. Bạn có thể sử dụng phương pháp này để biết thêm kiểm soát trải nghiệm của người dùng cuối trong khi vẫn khai thác được Fleet Thông tin vị trí xe chính xác theo thời gian thực, giờ đến dự kiến và tuyến đường của động cơ.

Để biết thông tin chi tiết về cách sử dụng SDK người tiêu dùng, hãy xem bài viết Chia sẻ hành trình theo yêu cầu chuyến đi.

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 GetTrip , chỉ định khung hiển thị JOURNEY_SHARING_V1S. Xem tài liệu tham khảo về RPC hoặc REST.

Thông thường, máy chủ của bạn 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 tài xế đang chủ động theo dõi tiến trình của xe. Vị trí xe quá trình cập nhật thường diễn ra 10 giây một lần và hệ thống của bạn sẽ thăm dò ý kiến tỷ lệ tương tự. Bạn có thể theo dõi trường Trip.last_location.update_time để xem có thông tin cập nhật nào kể từ lệnh gọi GetTrip trước đó.

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 được điền sẵn thông tin mới nhất thông tin hiện có 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 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 tham chiếu mà xe sẽ cần di chuyển theo thứ tự trước khi đ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ẽ cho biết Fleet Engine để đưa thông tin cập nhật vào còn lại_waypoints[0] TripWaypoint. Trong các chế độ xem không phải Chia sẻ hành trình, điểm tham chiếu đó không thường cho biết vị trí mới nhất của chiếc 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 Trạng thái chuyến đi và các điểm tham chiếu xe còn lại 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:

[0] location.point = Trip.pickup_point.point
trip_id = "trip_A"
waypoint_type = PICKUP_WAYPOINT_TYPE
path_to_waypoint = Vĩ độ Vĩ độ[] Vĩ độ thứ nhất từ đoạn đường còn lại đến điểm đến lấy hàng
Vĩ độ thứ 2 từ đoạn đường còn lại đến điểm đến lấy hàng
...
Vĩ độ đến lấy hàng cuối cùng trong lộ trình còn lại
điểm nhận hàng, nếu khác với điểm trước đây
traffic_data
khoảng cách_mét = khoảng cách từ vị trí xe hiện tại dọc theo path_to_waypoint đến điểm đến lấy hàng
eta = thời gian đến dự kiến đã cập nhật
thời lượng = thời lượng đã cập nhật
[1] location.point = Trip.dropoff_point.point
Trip_id = "trip_A"
tham chiếu_type = DROP_OFF_WAYPOINT_TYPE
path_to_waypoint = Vĩ độ Vĩ độ[] Vĩ độ thứ nhất từ chặng trả xe
Vĩ độ thứ 2 từ chặng trả khách
...
LatLng cuối cùng từ chặng dừng
Dropoff_point, nếu khác với giá trị gần đây nhất
traffic_data
khoảng cách_mét = khoảng cách từ điểm đến lấy hàng dọc theo path_to_waypoint đến điểm trả xe
eta = thời gian đến dự kiến đã cập nhật
thời lượng = thời gian thả xe

Đối với các chuyến đi gộp lại và đi chung, danh sách này có thể chứa điểm tham chiếu từ các chuyến đi khác sẽ đi qua trước hành trình này. Ví dụ: hãy cân nhắc trường hợp Chuyến đi B được chỉ định cho cùng một xe như Chuyến đi A. Chiến lược phát hành đĩa đơn Khi đó, trường remaining_waypoints cho Chuyến đi A sẽ được điền như sau. Hầu hết các trường đã bị bỏ qua để đảm bảo tính súc tích, nhưng các trường này vẫn sẽ được được điền sẵn như ví dụ trước.

[0] Trip_id = "trip_A"
điểm tham chiếu = PICKUP_WAYPOINT_TYPE
[1] Trip_id = "trip_B"
điểm tham chiếu = PICKUP_WAYPOINT_TYPE
[2] Trip_id = "trip_B"
tham chiếu_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ó trường ba mục nhập đầu tiên sẽ xuất hiện, do điểm trả khách của Chuyến đi A không phải là một phần tuyến đường của Chuyến đi B.