Bu kılavuzda, Tüketici SDK'sını kullanmaya alternatif olarak seyahat verilerini doğrudan Fleet Engine'den nasıl alabileceğiniz gösterilmektedir. Fleet Engine'ın doğru ve gerçek zamanlı araç konumu, tahmini varış zamanı ve rota planlama özelliklerinden yararlanırken son kullanıcı deneyiminiz üzerinde daha fazla kontrol sahibi olmak için bu yaklaşımı kullanabilirsiniz.
Tüketici SDK'sını kullanmayla ilgili ayrıntılar için İsteğe bağlı gezilere yönelik yolculukları paylaşma bölümüne bakın.
Seyahat bilgilerini alma
Gezi bilgilerini doğrudan Fleet Engine'dan almak için JOURNEY_SHARING_V1S
görünümünü belirterek GetTrip
yöntemini çağırın. RPC veya REST ile ilgili referanslara bakın.
Sürücü aracın ilerleme durumunu aktif olarak izlerken sunucunuz genellikle her yolculuğun durumu için yolculuk hizmetini yoklar. Araç konum güncellemeleri genellikle 10 saniyede bir gerçekleşir ve sisteminiz, yoklama işlemini aynı hızda yapmalıdır. Trip.last_location.update_time
alanı, GetTrip
için yapılan önceki çağrıdan bu yana herhangi bir güncelleme olup olmadığını görmek için izlenebilir.
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);
Ortaya çıkan Trip
nesnesi, aşağıdaki alanlar gezi için mevcut en son bilgilerle doldurulur:
name |
trip_status |
remaining_waypoints |
vehicle_id |
trip_type |
last_location |
number_of_passengers |
pickup_point |
view (== JOURNEY_SHARING_V1S) |
actual_pickup_point |
intermediate_destinations |
intermediate_destination_index |
pickup_time |
intermediate_destinations_version |
dropoff_point |
actual_dropoff_point |
dropoff_time |
|
Kalan seyahat yol noktalarını alma
Yolculuk öğesi, TripWaypoint
türündeki yinelenen bir alan içerir. Bu alan, aracın bu seyahatin son teslim noktasına ulaşmadan önce sırayla geçmesi gereken tüm yol noktalarını içerir. Yolculuğu Paylaşma görünümünü belirtmek, Fleet Engine'a remaining_waypoints[0]TripWaypoint
alanına güncel bilgileri yerleştirmesini söyler. Yolcu Paylaşımı dışındaki diğer görünümlerde bu yol noktası genellikle atanmış aracın son konumunu yansıtmaz. RPC veya REST referansına bakın.
Daha fazla bilgi için Seyahatlere giriş kılavuzundaki Seyahat durumu ve kalan araç yol noktaları bölümüne bakın.
A seyahati için remaining_waypoints
alanının bir örneğini aşağıda bulabilirsiniz:
| |||||||||||||||||||||
|
Arka arkaya ve paylaşılan havuz gezilerinde bu liste, bu yolculuktan önce geçilecek diğer gezilerdeki yol noktalarını içerebilir. Örneğin, Seyahat B'nin Seyahat A ile aynı araca atandığı senaryoyu düşünün. Bu durumda Seyahat A'nın remaining_waypoints
alanı aşağıdaki gibi doldurulur.
Alanların çoğu kısa ve öz olması için atlanmıştır ancak önceki örnekle tutarlı şekilde doldurulur.
[0] | trip_id = "trip_A" |
---|---|
ara nokta_türü = 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" |
ara nokta_türü = DROP_OFF_WAYPOINT_TYPE |
Seyahat B'nin remaining_waypoint
alanı benzer şekilde doldurulur, ancak A Seyahati'nin bırakma noktası Seyahat B'nin rotasının bir parçası olmadığından yalnızca ilk üç giriş bulunur.