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. Bu yaklaşımı kullanarak Fleet Engine'in doğru ve gerçek zamanlı araç konumu, tahmini varış zamanı ve rota özelliklerinden yararlanmaya devam ederken son kullanıcı deneyiminiz üzerinde daha fazla kontrol sahibi olabilirsiniz.
Consumer SDK'yı kullanma hakkında ayrıntılı bilgi için İsteğe bağlı geziler için yolculuk paylaşma başlıklı makaleyi inceleyin.
Gezi 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 için referansı inceleyin.
Sunucunuz, sürücü araç ilerlemesini aktif olarak izlerken genellikle her yolculuğun durumunu öğrenmek için yolculuk hizmetine yoklama gönderir. 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);
Elde edilen Trip nesnesinde, geziyle ilgili 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 |
|
Kalan gezi noktalarını alma
Seyahat öğesi, TripWaypoint türünde yinelenen bir alan içerir. Bu alan, aracın bu seyahatin son bırakma noktasından önce sırayla gitmesi gereken tüm ara noktaları içerir. Yolculuk paylaşımı görünümünü belirtmek, Fleet Engine'a güncellenmiş bilgileri remaining_waypoints[0] TripWaypoint alanına eklemesini söyler. Diğer, Yolculuk Paylaşımı dışındaki görünümlerde bu ara nokta 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 bir gezi için remaining_waypoints alanı örneği verilmiştir (Gezi A):
| |||||||||||||||||||||
| |||||||||||||||||||||
Arka arkaya ve paylaşımlı havuz gezilerinde bu liste, bu yolculuktan önce geçilecek diğer gezilere ait yol noktalarını içerebilir. Örneğin, B gezisinin A gezisiyle aynı araca atandığı senaryoyu ele alalım. A Gezisi'nin remaining_waypoints alanı aşağıdaki şekilde doldurulur.
Kısa olması için alanların çoğu atlandı ancak bu alanlar, önceki örnekle tutarlı bir şekilde doldurulacaktır.
| [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.