Bu kılavuzda, Tüketici SDK'sını kullanmaya alternatif olarak gezi verilerini doğrudan Fleet Engine'dan nasıl alacağınız gösterilmektedir. Fleet Engine'ın doğru ve gerçek zamanlı araç konumu, TVS ve rota belirleme özelliklerinden yararlanmaya devam ederken son kullanıcı deneyiminiz üzerinde daha fazla kontrol sahibi olmak için bu yaklaşımı kullanabilirsiniz.
Tüketici SDK'sını kullanma hakkında ayrıntılı bilgi için Seç-izle gezileri için yolculukları paylaşma başlıklı makaleyi inceleyin.
Gezi 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 referansına bakın.
Sürücü, aracın ilerleme durumunu aktif olarak izlerken sunucunuz genellikle her bir gezinin durumu için gezi hizmetini sorgular. 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ını izleyerek GetTrip için yapılan önceki çağrıdan bu yana herhangi bir güncelleme olup olmadığını görebilirsiniz.
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);
Elde edilen Trip nesnesinde, geziyle ilgili en güncel bilgilerin yer aldığı 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 |
|
Kalan gezi noktalarını alma
Gezi öğesi, TripWaypoint türünde yinelenen bir alan içerir. Bu alan, aracın bu gezinin son bırakma noktasından önce sırayla gitmesi gereken tüm yol noktalarını içerir. Yolculuk Paylaşımı görünümünü belirtmek, Fleet Engine'a güncellenmiş bilgileri remaining_waypoints[0] TripWaypoint içine yerleştirmesini söyler. Yolculuk paylaşımı dışındaki diğer görünümlerde bu ara nokta genellikle atanan aracın en son konumunu yansıtmaz. RPC veya REST referansına bakın.
Daha fazla bilgi için Gezilere giriş kılavuzundaki Gezi durumu ve kalan araç yol noktaları bölümüne bakın.
Aşağıda, A gezisi için remaining_waypoints alanının bir örneği verilmiştir:
| |||||||||||||||||||||
| |||||||||||||||||||||
Arka arkaya ve paylaşımlı havuz gezilerinde bu liste, bu yolculuktan önce geçilecek diğer gezilerden ara noktalar içerebilir. Örneğin, B gezisinin A gezisiyle aynı araca atandığı senaryoyu ele alalım. A gezisi için remaining_waypoints alanı aşağıdaki gibi doldurulur.
Alanların çoğu, kısa ve öz olması için çıkarılmıştır ancak önceki örnekle tutarlı olacak ş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 gezisinin remaining_waypoint alanı da benzer şekilde doldurulur ancak A gezisinin bırakma noktası B gezisinin rotasında yer almadığından yalnızca ilk üç giriş gösterilir.