Tài liệu này mô tả cách tạo chuyến đi khứ hồi, đặt giá trị chuyến đi chính xác và chỉ định nó cho một chiếc xe để thực hiện. Giả sử bạn đã thiết lập Nhóm Công cụ này, bạn đã tạo phương tiện, có một ứng dụng dành cho người lái xe hoạt động và ứng dụng người tiêu dùng (không bắt buộc). Chắc hẳn bạn cũng đã làm quen với nhiều chuyến đi các tình huống có sẵn cho các chuyến đi theo yêu cầu. Hãy xem các hướng dẫn liên quan sau đây để rằng:
- Thiết lập Fleet Engine
- Tạo xe
- Các tình huống về chuyến đi trong phần tổng quan về Chuyến đi theo yêu cầu
Thông tin cơ bản về cách tạo chuyến đi
Phần này mô tả thông tin chi tiết về yêu cầu cần thiết để tạo chuyến đi ở Fleet Engine. Bạn đưa ra yêu cầu tạo bằng gRPC và REST.
Trường chuyến đi
Sử dụng các trường sau để tạo một chuyến đi trong Fleet Engine. Bạn có thể sử dụng các trường cho các loại chuyến đi khác nhau: một điểm đến hoặc nhiều điểm đến, các chuyến đi gộp hoặc liên kết chung. Bạn có thể cung cấp các trường tuỳ chọn khi tạo chuyến đi, hoặc bạn có thể đặt các trường đó khi bạn cập nhật chuyến đi.
Tên | Bắt buộc? | Mô tả |
---|---|---|
cha mẹ | Có | Một chuỗi chứa mã dự án. Mã nhận dạng này phải giống với mã đã sử dụng trên toàn bộ quá trình tích hợp Fleet Engine, bằng cùng một tài khoản dịch vụ vai trò. |
trip_id | Có | Một chuỗi bạn tạo để nhận dạng duy nhất chuyến đi này. Mã chuyến đi có như được nêu trong tài liệu tham khảo. |
trip_type | Có | Đặt TripType thành các giá trị sau cho loại chuyến đi mà bạn đang tạo:
|
pickup_point | Có | Điểm xuất phát của chuyến đi. |
Đích đến trung gian | Có | Chỉ các chuyến đi nhiều điểm đến: Danh sách các điểm đến trung gian mà tài xế ghé thăm
đến lấy hàng và trả xe. Tương tự như với |
vehicle_waypoints | Có | Chỉ các chuyến đi chung: Trường này hỗ trợ việc xen kẽ các điểm tham chiếu từ nhiều chuyến đi.
Địa điểm này cũng chứa tất cả các điểm tham chiếu còn lại của xe được chỉ định,
làm điểm đón và trả khách cho chuyến đi này. Bạn có thể thiết lập trường này
bằng cách gọi |
number_of_passengers | Không | Số lượng hành khách trong chuyến đi. |
dropoff_point | Không | Điểm đến của chuyến đi. |
vehicle_id | Không | Mã của xe được chỉ định cho chuyến đi. |
Ví dụ: tạo chuyến đi khứ hồi
Phần sau đây minh hoạ cách tạo chuyến đi qua lại và chỉ định chuyến đi đó cho một chiếc xe. Trong trường hợp này, việc tạo chuyến đi giống như khi tạo chuyến đi một điểm đến . Chỉ sau đó bạn mới tạo một chuyến đi khác và gán chuyến đi đó cho một chiếc xe bằng một chuyến đi đang diễn ra.
// A vehicle with ID 'my-vehicle' is already created and it is assigned to a trip with ID 'current-trip'.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String VEHICLE_ID =" my-vehicle";
static final String TRIP_ID = "back-to-back-trip");
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE)
.setPickupPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.setVehicleId(VEHICLE_ID)
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId(TRIP_ID)
.setTrip(trip)
.build();
// Error handling.
try {
// Fleet Engine automatically assigns a 'waypoints' list to the trip containing
// the vehicle's current trip waypoints.
Trip createdTrip =
tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}
Cập nhật các chuyến đi khứ hồi
Khi chỉ định một chiếc xe cho một chuyến đi khứ hồi, bạn chỉ định một chuyến đi cho một ngay cả khi xe đã được chỉ định.
Mọi chuyến đi được tạo trong Fleet Engine phải được chỉ định cho một chiếc xe để Fleet Engine để tính toán thời gian đến dự kiến của chuyến đi và theo dõi chuyến đi đó. Bạn có thể thực hiện việc này trong khi tạo chuyến đi hoặc để sau khi bạn cập nhật chuyến đi.
Sau khi bạn chỉ định chuyến đi cho một chiếc xe, Fleet Engine sẽ tự động thêm
điểm tham chiếu liên kết với các chuyến đi khứ hồi đến các điểm tham chiếu của phương tiện
. Trường remainingWaypoints
của chuyến đi chứa danh sách tất cả
điểm tham chiếu, bao gồm những điểm từ các chuyến đi khác sẽ được ghé thăm trước đó
điểm dừng của chuyến đi.
Ví dụ: xem xét hai chuyến đi khứ hồi: Chuyến đi A và Chuyến đi B. Chiếc xe đã đón được người tiêu dùng cho Chuyến đi A và trong khi trên đường trả xe vị trí của khách hàng, người lái xe sẽ nhận được một yêu cầu lấy hàng một người tiêu dùng khác cho chuyến đi tiếp theo, Chuyến đi B.
- Gọi
getVehicle()
trả vềremainingWaypoints
có chứa:
Giảm khách hàng → B Đến lấy hàng → B Bỏ ngang. getTrip()
hoặc Lệnh gọi lạionTripRemainingWaypointsUpdated
cho Chuyến đi A trả vềremainingWaypoints
chứa:
Bỏ qua.getTrip()
hoặc Lệnh gọi lạionTripRemainingWaypointsUpdated
cho Chuyến đi B trả vềremainingWaypoints
có chứa:
Bỏ ngang → B Đến lấy hàng → và B Bỏ ngang.