Tài liệu này mô tả cách tạo một chuyến đi đến một đích đến, đặt đúng các trường và chỉ định chuyến đi đó cho một xe để thực hiện. Giả sử bạn đã thiết lập Công cụ của đội xe và đã tạo xe, có ứng dụng trình điều khiển đang hoạt động và có thể có ứng dụng dành cho người dùng. Hãy xem các hướng dẫn liên quan sau đây:
Kiến thức 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 trong Công cụ quản lý đội xe. 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 Công cụ quản lý đội xe. Bạn có thể sử dụng các trường khác nhau cho các loại chuyến đi: một hoặc nhiều điểm đến, chuyến đi liên tiếp hoặc chuyến đi chung. Bạn có thể cung cấp các trường không bắt buộc khi tạo chuyến đi hoặc bạn có thể đặt các trường này sau khi cập nhật chuyến đi.
Tên | Bắt buộc? | Mô tả |
---|---|---|
parent | Có | Một chuỗi ký tự chứa mã dự án. Mã này phải giống với mã được sử dụng trong toàn bộ quá trình tích hợp với Công cụ quản lý đội xe, với cùng vai trò tài khoản dịch vụ. |
trip_id | Có | Một chuỗi mà bạn tạo để xác định riêng chuyến đi này. Mã chuyến đi có một số hạn chế nhất định, như được chỉ định 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ỉ dành cho 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 trong khoảng thời gian từ khi đón đến khi trả khách. Giống như |
vehicle_waypoints | Có | Chỉ dành cho các chuyến đi chung: Trường này hỗ trợ xen kẽ các điểm trung gian của nhiều chuyến đi.
Tệp này chứa tất cả các điểm trung gian còn lại cho xe được chỉ định, cũng như điểm trung gian đón và trả khách cho chuyến đi này. Bạn có thể đặt trường này bằng cách gọi |
number_of_passengers | Không | Số lượng hành khách trên 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ụ: chuyến đi một điểm đến
Ví dụ sau đây minh hoạ cách tạo một chuyến đi đến Grand Indonesia East Mall. Chuyến đi này có hai hành khách, là chuyến đi riêng và trạng thái là NEW
. provider_id
của chuyến đi phải giống với mã dự án Google Cloud. Các ví dụ cho thấy một Dự án Google Cloud có mã dự án là my-rideshare-co-gcp-project
. Dự án này cũng phải có một tài khoản dịch vụ để gọi Fleet Engine. Hãy xem phần Vai trò của tài khoản dịch vụ để biết thông tin chi tiết.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
TripServiceBlockingStub tripService = TripService.newBlockingStub(channel);
// Trip initial settings.
String parent = "providers/" + PROJECT_ID;
Trip trip = Trip.newBuilder()
.setTripType(TripType.EXCLUSIVE) // Use TripType.SHARED for carpooling.
.setPickupPoint( // Grand Indonesia East Mall.
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.195139).setLongitude(106.820826)))
.setNumberOfPassengers(2)
// Provide the drop-off point if available.
.setDropoffPoint(
TerminalLocation.newBuilder().setPoint(
LatLng.newBuilder()
.setLatitude(-6.1275).setLongitude(106.6537)))
.build();
// Create trip request
CreateTripRequest createTripRequest = CreateTripRequest.newBuilder()
.setParent(parent)
.setTripId("trip-8241890") // Trip ID assigned by the provider.
.setTrip(trip) // The initial state is NEW.
.build();
// Error handling.
try {
Trip createdTrip = tripService.createTrip(createTripRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case ALREADY_EXISTS:
break;
case PERMISSION_DENIED:
break;
}
return;
}