Bu kılavuzda, Tüketici SDK'sını kullanmaya alternatif olarak doğrudan Fleet Engine'den seyahat verilerinin nasıl alınacağı gösterilmektedir. Fleet Engine'ın doğru ve gerçek zamanlı araç konumu, tahmini varış zamanı ve rota oluşturma ö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 Seç-bin seyahatleri için yolculukları paylaşma başlıklı makaleyi inceleyin.
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 seyahatin durumu için seyahat hizmetini sorar. Araç konum güncellemeleri genellikle 10 saniyede bir gerçekleşir ve sisteminiz aynı hızda anket yapmalıdır. GetTrip
çağrısından bu yana herhangi bir güncelleme olup olmadığını görmek için Trip.last_location.update_time
alanı 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, seyahat için mevcut en son bilgilerle doldurulan 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 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 atanan aracın en 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, B gezisinin A gezisiyle aynı araca atandığı senaryoyu düşünün. A gezisi için remaining_waypoints
alanı aşağıdaki gibi doldurulur.
Alanların çoğu kısalık için atlanmıştır ancak önceki örneğe uygun ş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ı benzer şekilde doldurulur ancak A gezisinin bırakma noktası B gezisinin rotasının bir parçası olmadığından yalnızca ilk üç giriş bulunur.