소비자 SDK는 차량 공유 소비자 앱이 이동 중인 차량의 위치와 진행률을 표시하는 턴키 기능을 제공합니다.
그러나 일부 차량 공유 제공업체는 Google의 정확한 실시간 차량 위치, 도착예정시간 및 경로를 계속 활용하면서 유연한 통합을 통해 최종 사용자 고객 환경을 더 세부적으로 제어하기를 원합니다. 이 가이드에서는 Consumer SDK를 사용하는 대신 Fleet Engine에서 이동 데이터를 직접 검색하는 방법을 설명합니다.
개요
Fleet Engine에서 직접 이동 정보를 검색하려면 JOURNEY_SHARING_V1S 뷰(RPC | REST)를 지정하여 GetTrip
메서드를 호출합니다.
static final String PROJECT_ID = "my-rideshare-co-gcp-project";
static final String TRIP_ID = "trip-A";
String tripName = "providers/" + PROJECT_ID + "/trips/" + TRIP_ID;
GetTripRequest getTripRequest =
GetTripRequest.newBuilder()
.setName(tripName)
.setView(JOURNEY_SHARING_V1S)
.build();
Trip trip = tripService.getTrip(getTripRequest);
결과로 반환되는 이동(RPC | REST) 객체에는 이동에 사용할 수 있는 최신 정보가 포함된 다음 필드가 포함됩니다.
name
vehicle_id
trip_status
trip_type
number_of_passengers
pickup_point
actual_pickup_point
pickup_time
intermediate_destinations
intermediate_destinations_version
intermediate_destination_index
dropoff_point
actual_dropoff_point
dropoff_time
remaining_waypoints
last_location
view
(== JOURNEY_SHARING_V1S)
차량 공유 제공업체는 일반적으로 탑승자가 차량 진행 상황을 적극적으로 모니터링하는 동안 2~5초마다 각 이동의 상태를 대상으로 이동 서비스를 폴링합니다. 차량 위치 업데이트는 일반적으로 더 긴 간격(예: 10초)입니다. Trip.last_location.update_time
필드를 모니터링하여 이전 GetTrip
호출 이후 업데이트가 있는지 확인할 수 있습니다.
경로 경유지
이동 항목에 TripWaypoint
유형의 반복되는 필드가 포함되어 있습니다(RPC | REST).
이 필드에는 차량이 마지막 하차 지점까지 순서대로 이동해야 하는 모든 경유지가 포함됩니다. 여정 공유 뷰를 지정하면 Fleet Engine이 남은_경유지 TripWaypoint
에 업데이트된 정보를 넣도록 지시합니다. 여정 공유 이외의 뷰에서 이 경유지는 일반적으로 할당된 차량의 최근 위치를 반영하지 않습니다.
다음은 이동 A의 remaining_waypoints
필드의 예입니다.
| |||||||||||||||||||||
|
연달아 이동 및 공유 (카풀) 이동을 사용하는 경우 이 목록에는 해당 이동 중에 통과할 다른 경로의 경유지가 포함될 수 있습니다. 예를 들어
이동 B가 경로 A와 동일한 차량에 할당된 시나리오를 생각해 보겠습니다. 그러면
이동 A의 remaining_waypoints
필드가 다음과 같이 채워집니다.
(간결성을 위해 대부분의 필드는 생략되었지만 이전 예시와 일관되게 채워집니다.)
[0] | trip_id = "trip_A" |
---|---|
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[1] | trip_id = "trip_B" |
Waypoint_type = PICKUP_WAYPOINT_TYPE | |
[2] | trip_id = "trip_B" |
Waypoint_type = DROP_OFF_WAYPOINT_TYPE | |
[3] | trip_id = "trip_A" |
Waypoint_type = DROP_OFF_WAYPOINT_TYPE |
이동 B의 remaining_waypoint
필드도 비슷하게 채워지지만 처음 세 항목만 존재합니다. 이동 A의 하차 지점이 이동 B의 경로의 일부가 아니기 때문입니다.