이 문서에서는 연달아 이동을 만들고 올바른 경로를 설정하는 방법을 설명합니다. 필드를 사용하여 처리할 차량에 할당합니다. Fleet를 설정했다고 가정합니다. 차량을 만들었고 실제로 작동하는 운전자 앱이 있는지 소비자 앱(선택사항) 또한 Google Cloud Platform이라는 시나리오에 적용할 수 있습니다 다음 관련 가이드를 참고하세요. 다음과 같습니다.
- Fleet Engine 설정
- 차량 만들기
- 주문형 경로 개요의 여행 시나리오
경로 만들기 기본사항
이 섹션에서는 이동을 만드는 데 필요한 요청 세부정보를 설명합니다. 사용할 수 있습니다 gRPC 및 REST를 사용하여 생성 요청을 실행합니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.이동 필드
다음 필드를 사용하여 Fleet Engine에서 이동을 만듭니다. 다른 여러 종류의 이동: 단일 목적지 또는 다중 목적지, 풀링 여행을 공유하는 방법 등이 있습니다. 나 은 이동을 만들 때 선택적 필드를 제공할 수 있습니다. 또는 경로를 업데이트할 수 있습니다
이름 | 필수 여부 | 설명 |
---|---|---|
parent | 예 | 프로젝트 ID가 포함된 문자열입니다. 이 ID는 사용된 ID와 동일해야 합니다. 전체 Fleet Engine 통합에서 동일한 서비스 계정으로 역할을 수행합니다 |
trip_id | 예 | 이 이동을 고유하게 식별하는 문자열로, 이동 ID에 다음이 포함됩니다. 특정 제한사항이 적용될 수 있습니다 |
trip_type | 예 | 만들려는 이동 유형에 대해 TripType을 다음 값으로 설정합니다.
<ph type="x-smartling-placeholder">
|
pickup_point | 예 | 여정의 출발지입니다. |
중급 대상 | 예 | 여러 목적지 이동만: 운전자가 중간에 방문하는 중간 목적지의 목록입니다.
승차 및 하차입니다. |
vehicle_waypoints | 예 | 공동 풀링 여정만 해당: 이 입력란은 여러 이동의 경유지를 인터리브 처리하는 것을 지원합니다.
여기에는 할당된 차량의 나머지 경유지도 모두 포함됩니다.
을 이 이동의 승차 및 하차 경유지로 지정합니다. 이 필드는
|
number_of_passengers | 아니요 | 이동 중인 승객의 수입니다. |
dropoff_point | 아니요 | 여정의 목적지입니다. |
vehicle_id | 아니요 | 이동에 할당된 차량의 ID입니다. |
예: 연달아 여행 만들기
다음은 연달아 이동을 만들어 있습니다. 이 시나리오에서 이동은 단일 목적지와 동일합니다. 있습니다. 나중에 다른 이동을 만들어 차량에 할당해야 합니다. 이동해도 됩니다
// 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;
}
연달아 경로 업데이트
연달아 이동을 위해 차량을 할당할 때는 차량을 식별할 수 있습니다.
차량에 할당되어야만 이동 도착예정시간을 계산하고 추적합니다 이 작업은 나중에 경로를 업데이트할 때 경로를 지정할 수 있습니다
차량에 이동을 할당하면 Fleet Engine에서 자동으로
차량의 경유지로 이어지는 이동과 관련된 경유지
필드를 확인합니다. 경로의 remainingWaypoints
입력란에는
경유지(이전에 방문할 다른 여정의 경유지 포함)
정보를 제공합니다
예를 들어 이동 A라는 두 개의 연달아 여행이 있다고 생각해 보세요. 및 이동 B가 포함됩니다. 차량에 소비자가 차량에 탑승했습니다. 경로 A 및 하차로 이동하는 도중 운전자가 다른 소비자를 픽업해 달라는 요청을 받고 다음 여정은 여행 B입니다.
getVehicle()
를 호출하면remainingWaypoints
이 반환됩니다. 포함:
중도 하차 → B 수령 → B 하차.getTrip()
또는onTripRemainingWaypointsUpdated
콜백: 이동 A가remainingWaypoints
를 반환함 포함:
반납.getTrip()
또는onTripRemainingWaypointsUpdated
콜백: 이동 B는remainingWaypoints
을(를) 반환합니다. 포함:
A 중도 이탈 → B 수령 → 및 B 반납.