이 문서에서는 단일 목적지 여정을 만들고, 올바른 필드를 설정하고, 이를 차량에 할당하여 완료하는 방법을 설명합니다. Fleet Engine을 설정하고 차량을 만들었으며 작동하는 드라이버 앱과 선택적으로 소비자 앱이 있다고 가정합니다. 관련 가이드는 다음을 참고하세요.
여행 항목 만들기 기본사항
이 섹션에서는 Fleet Engine에서 여정을 만드는 데 필요한 요청 세부정보를 설명합니다. gRPC와 REST 중 하나를 사용하여 생성 요청을 실행합니다.
이동 필드
다음 필드를 사용하여 Fleet Engine에서 여정을 만듭니다. 단일 또는 다중 목적지, 연속, 공유 풀링 여정 등 다양한 종류의 여정에 서로 다른 필드를 사용할 수 있습니다. 여행을 만들 때 선택사항 필드를 제공하거나 나중에 여행을 업데이트할 때 설정할 수 있습니다.
이름 | 필수 여부 | 설명 |
---|---|---|
parent | 예 | 프로젝트 ID가 포함된 문자열입니다. 이 ID는 동일한 서비스 계정 역할로 전체 Fleet Engine 통합에서 사용되는 ID와 동일해야 합니다. |
trip_id | 예 | 이 여정을 고유하게 식별하기 위해 사용자가 만드는 문자열입니다. 여행 ID에는 참조에 표시된 대로 특정 제한사항이 있습니다. |
trip_type | 예 | 생성 중인 여행 유형에 따라 TripType을 다음 값으로 설정합니다.
|
pickup_point | 예 | 여행의 출발지입니다. |
중간 대상 | 예 | 다중 목적지 여정만 해당: 기사가 탑승과 하차 사이에 방문하는 중간 목적지 목록입니다. |
vehicle_waypoints | 예 | 공유 풀링 여정만 해당: 이 필드는 여러 여정의 경유지를 인터리브하는 것을 지원합니다.
할당된 차량의 나머지 모든 경유지와 이 여정의 픽업 및 하차 경유지가 포함됩니다. |
number_of_passengers | 아니요 | 여행의 승객 수입니다. |
dropoff_point | 아니요 | 여행의 목적지입니다. |
vehicle_id | 아니요 | 이동에 할당된 차량의 ID입니다. |
예: 단일 목적지 여행
다음 예는 그랜드 인도네시아 이스트 몰로 가는 여정을 만드는 방법을 보여줍니다. 이 여정에는 승객이 두 명이며, 독점 여정이고 상태는 NEW
입니다. 여행의 provider_id
은 Google Cloud 프로젝트 ID와 동일해야 합니다. 이 예시에서는 프로젝트 ID가 my-rideshare-co-gcp-project
인 Google Cloud 프로젝트를 보여줍니다. Fleet Engine을 호출하려면 이 프로젝트에 서비스 계정도 포함되어야 합니다. 자세한 내용은 서비스 계정 역할을 참고하세요.
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;
}