يوضّح هذا القسم كيفية ضبط وجهة المركبة بعد أن يطابق الخادم رحلة بمركبة.
قبل البدء
يتطلّب هذا القسم إكمال ما يلي:
تحديد الوجهة في تطبيق السائق
بعد إقران مستهلك بسائق، عليك ضبط وجهة الرحلة في تطبيق السائق باتّباع الخطوات التالية:
استرجِع وجهة المركبة من مجموعة نقاط الطريق في Fleet Engine، والتي يتم عرضها من خلال
GetTrip()
وUpdateTrip()
وGetVehicle()
.اضبط الوجهة من خلال استدعاء طريقة حزمة تطوير البرامج للتنقّل على أجهزة 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;
}];
}