Bu kılavuzda, Tüketici SDK'sını kullanmaya alternatif olarak seyahat verilerini doğrudan Fleet Engine'den nasıl alacağınız gösterilmektedir. Bu yaklaşımı kullanarak son kullanıcı deneyiminiz üzerinde daha fazla kontrol sahibi olabilir, aynı zamanda Fleet Engine'in doğru ve gerçek zamanlı araç konumu, tahmini varış zamanı ve rota özelliklerinden yararlanmaya devam edebilirsiniz.
Consumer SDK'yı kullanmayla ilgili ayrıntılar için İsteğe bağlı geziler için yolculuk paylaşma başlıklı makaleyi inceleyin.
Seyahat bilgilerini alma
Seyahat bilgilerini doğrudan Fleet Engine'den almak için GetTrip
yöntemini çağırın ve JOURNEY_SHARING_V1S
görünümünü belirtin. RPC veya REST ile ilgili referansı inceleyin.
Sürücü, aracın ilerlemesini aktif olarak izlerken sunucunuz genellikle her yolculuğun durumu için yolculuk hizmetini yoklar. Araç konumu güncellemeleri genellikle her 10 saniyede bir gerçekleşir ve sisteminiz de aynı sıklıkta yoklama 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);
Sonuç olarak elde edilen Trip
nesnesinde, geziyle ilgili mevcut en son bilgilerle doldurulmuş aşağıdaki alanlar bulunur:
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 |
|
Gezinin kalan yol noktalarını alma
Seyahat öğesi, TripWaypoint
türünde yinelenen bir alan içeriyor. Bu alan, aracın bu seyahatin son bırakma noktasına ulaşmadan önce sırayla gitmesi gereken tüm ara noktaları içerir. Yolculuk paylaşımı görünümünü belirtmek, Fleet Engine'e güncellenen bilgileri remaining_waypoints[0] TripWaypoint
içine yerleştirmesini söyler. Diğer Yolculuk Paylaşımı dışındaki görünümlerde bu yol noktası genellikle atanan aracın en son konumunu yansıtmaz. RPC veya REST ile ilgili referansı inceleyin.
Daha fazla bilgi için Gezilere giriş kılavuzundaki Gezinin durumu ve araç için kalan yol noktaları bölümüne bakın.
Aşağıda, A Gezisi adlı bir gezi için remaining_waypoints
alanı örneği verilmiştir:
| |||||||||||||||||||||
|
Arka arkaya ve paylaşımlı havuz gezilerinde bu liste, bu yolculuktan önce geçilecek diğer gezilerden gelen yol noktalarını içerebilir. Örneğin, B Gezisi'nin A Gezisi ile aynı araca atandığı senaryoyu ele alalım. A Gezisi'nin remaining_waypoints
alanı aşağıdaki gibi doldurulur.
Kısa olması için çoğu alan atlanmıştır ancak bu alanlar, önceki örnekle tutarlı bir şekilde doldurulur.
[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 Gezisi'nin remaining_waypoint
alanı da benzer şekilde doldurulur ancak A Gezisi'nin bırakma noktası B Gezisi'nin rotasında yer almadığından yalnızca ilk üç giriş bulunur.