ส่วนนี้จะอธิบายวิธีตั้งค่าปลายทางของยานพาหนะหลังจากที่เซิร์ฟเวอร์จับคู่การเดินทางกับยานพาหนะแล้ว
ก่อนเริ่มต้น
ในส่วนนี้ คุณต้องดำเนินการต่อไปนี้ให้เสร็จสมบูรณ์
กำหนดจุดหมายในแอปคนขับ
หลังจากจับคู่ผู้บริโภคกับคนขับแล้ว คุณต้องกำหนดค่าจุดหมายของการเดินทางในแอปคนขับโดยทำตามขั้นตอนต่อไปนี้
ดึงข้อมูลปลายทางของยานพาหนะจากคอลเล็กชันจุดแวะพักใน Fleet Engine ซึ่งแสดงผลโดย
GetTrip()
,UpdateTrip()
และGetVehicle()
ตั้งค่าปลายทางโดยเรียกใช้เมธอด Navigation SDK สำหรับ iOS
setDestinations()
ตัวอย่างต่อไปนี้แสดงวิธีตั้งค่าปลายทางในแอปคนขับ
Swift
private func startNavigation() {
let destinations = [
GMSNavigationWaypoint(
placeID: "ChIJnUYTpNASkFQR_gSty5kyoUk", title: "PCC Natural Market"),
GMSNavigationWaypoint(
placeID: "ChIJJ326ROcSkFQRBfUzOL2DSbo", title: "Marina Park"),
]
mapView.navigator?.setDestinations(destinations, callback: { routeStatus in
guard routeStatus == .OK else {
// Error starting navigation.
return
}
mapView.locationSimulator?.simulateLocationsAlongExistingRoute()
mapView.navigator?.isGuidanceActive = true
mapView.navigator?.sendsBackgroundNotifications = true
mapView.cameraMode = .following
})
}
Objective-C
- (void)startNavigation {
NSArray<GMSNavigationWaypoint *> *destinations =
@[[[GMSNavigationWaypoint alloc] initWithPlaceID:@"ChIJnUYTpNASkFQR_gSty5kyoUk"
title:@"PCC Natural Market"],
[[GMSNavigationWaypoint alloc] initWithPlaceID:@"ChIJJ326ROcSkFQRBfUzOL2DSbo"
title:@"Marina Park"]];
[_mapView.navigator setDestinations:destinations
callback:^(GMSRouteStatus routeStatus) {
if (routeStatus != GMSRouteStatusOK) {
// Error starting navigation.
return;
}
[_mapView.locationSimulator simulateLocationsAlongExistingRoute];
_mapView.navigator.guidanceActive = YES;
_mapView.navigator.sendsBackgroundNotifications = YES;
_mapView.cameraMode = GMSNavigationCameraModeFollowing;
}];
}