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