高德地图SDK(导航) V10.0.600
Loading...
Searching...
No Matches
AMapNaviDriveManager.h
Go to the documentation of this file.
1//
2// AMapNaviDriveManager.h
3// AMapNaviKit
4//
5// Created by 刘博 on 16/1/12.
6// Copyright © 2016年 Amap. All rights reserved.
7//
8
11
12NS_ASSUME_NONNULL_BEGIN
13
14@protocol AMapNaviDriveManagerDelegate;
15
16#pragma mark - AMapNaviDriveManager
17
20
21#pragma mark - Singleton
22
28
33+ (BOOL)destroyInstance;
34
38- (instancetype)init __attribute__((unavailable("since 5.4.0 init 已被禁止使用,请使用单例 [AMapNaviDriveManager sharedInstance] 替代,且在调用类的 dealloc 函数里或其他适当时机(如导航ViewController被pop时),调用 [AMapNaviDriveManager destroyInstance] 来销毁单例(需要注意如未销毁成功,请检查单例是否被强引用)")));
39
40#pragma mark - Delegate
41
43@property (nonatomic, weak) id<AMapNaviDriveManagerDelegate> delegate;
44
45#pragma mark - Event Listener
46
51- (void)addEventListener:(id<AMapNaviDriveManagerDelegate>)aListener;
52
57- (void)removeEventListener:(id<AMapNaviDriveManagerDelegate>)aListener;
58
59#pragma mark - Data Representative
60
65- (void)addDataRepresentative:(id<AMapNaviDriveDataRepresentable>)aRepresentative;
66
71- (void)removeDataRepresentative:(id<AMapNaviDriveDataRepresentable>)aRepresentative;
72
73#pragma mark - Navi Route
74
76@property (nonatomic, readonly) NSInteger naviRouteID;
77
79@property (nonatomic, readonly, nullable) AMapNaviRoute *naviRoute;
80
82@property (nonatomic, readonly, nullable) NSArray<NSNumber *> *naviRouteIDs;
83
85@property (nonatomic, readonly, nullable) NSDictionary<NSNumber *, AMapNaviRoute *> *naviRoutes;
86
92- (BOOL)selectNaviRouteWithRouteID:(NSInteger)routeID;
93
98- (void)switchParallelRoad:(AMapNaviParallelRoadInfo *)parallelRoadInfo;
99
104- (void)setMultipleRouteNaviMode:(BOOL)multipleRouteNaviMode;
105
110- (void)setTruckMultipleRouteNaviMode:(BOOL)multipleRouteNaviMode;
111
112#pragma mark - Options
113
115@property (nonatomic, assign) BOOL updateCameraInfo;
116
118@property (nonatomic, assign) BOOL updateTrafficInfo;
119
121@property (nonatomic, assign) AMapNaviDetectedMode detectedMode;
122
124@property (nonatomic, assign, readonly) AMapNaviGPSSignalStrength gpsSignalStrength;
125
127@property (nonatomic, assign) NSUInteger gpsWeakDetecedInterval __attribute__((deprecated("已废弃,since 7.8.0")));
128
129#pragma mark - Calculate Route
130
131// 以下算路方法需要高德坐标(GCJ02)
132
140- (BOOL)calculateDriveRouteWithEndPoints:(NSArray<AMapNaviPoint *> *)endPoints
141 wayPoints:(nullable NSArray<AMapNaviPoint *> *)wayPoints
142 drivingStrategy:(AMapNaviDrivingStrategy)strategy;
143
152- (BOOL)calculateDriveRouteWithStartPoints:(NSArray<AMapNaviPoint *> *)startPoints
153 endPoints:(NSArray<AMapNaviPoint *> *)endPoints
154 wayPoints:(nullable NSArray<AMapNaviPoint *> *)wayPoints
155 drivingStrategy:(AMapNaviDrivingStrategy)strategy;
156
165- (BOOL)calculateDriveRouteWithStartPointPOIId:(nullable NSString *)startPOIId
166 endPointPOIId:(nonnull NSString *)endPOIId
167 wayPointsPOIId:(nullable NSArray<NSString *> *)wayPOIIds
168 drivingStrategy:(AMapNaviDrivingStrategy)strategy;
177- (BOOL)calculateDriveRouteWithStartPOIInfo:(nullable AMapNaviPOIInfo *)startPOIInfo
178 endPOIInfo:(nonnull AMapNaviPOIInfo *)endPOIInfo
179 wayPOIInfos:(nullable NSArray<AMapNaviPOIInfo *> *)wayPOIInfos
180 drivingStrategy:(AMapNaviDrivingStrategy)strategy;
181
191- (BOOL)independentCalculateDriveRouteWithStartPOIInfo:(nullable AMapNaviPOIInfo *)startPOIInfo
192 endPOIInfo:(nonnull AMapNaviPOIInfo *)endPOIInfo
193 wayPOIInfos:(nullable NSArray<AMapNaviPOIInfo *> *)wayPOIInfos
194 drivingStrategy:(AMapNaviDrivingStrategy)strategy
195 callback:(nullable void (^)(AMapNaviRouteGroup *_Nullable routeGroup, NSError *_Nullable error))callback;
201- (BOOL)recalculateDriveRouteWithDrivingStrategy:(AMapNaviDrivingStrategy)strategy;
202
203#pragma mark - Manual
204
210- (void)setVehicleProvince:(NSString *)province number:(NSString *)number __attribute__((deprecated("已废弃,请使用 setVehicleInfo: 替代,since 6.0.0")));
211
217- (BOOL)setVehicleInfo:(nullable AMapNaviVehicleInfo *)vehicleInfo;
218
224- (BOOL)setBroadcastMode:(AMapNaviBroadcastMode)mode;
225
231- (BOOL)setOnlineCarHailingType:(AMapNaviOnlineCarHailingType)type;
232
233#pragma mark - Traffic Status
234
241- (nullable NSArray<AMapNaviTrafficStatus *> *)getTrafficStatusesWithStartPosition:(int)startPosition distance:(int)distance;
242
247- (nullable NSArray<AMapNaviTrafficStatus *> *)getTrafficStatuses;
248
249#pragma mark - Xcode Simulate Location
250
255- (void)setXcodeSimulateLocationEnable:(BOOL)enableNavi __attribute__((deprecated("已废弃,since 7.5.0")));
256
257#pragma mark - 服务区详情信息
262- (void)setServiceAreaDetailsEnable:(BOOL)enable;
263
264#pragma mark - push路线相关
265
274- (BOOL)pushDriveRouteWithRouteGuideData:(nonnull NSData *)routeData
275 startPOIInfo:(nonnull AMapNaviPOIInfo *)startPOIInfo
276 endPOIInfo:(nonnull AMapNaviPOIInfo *)endPOIInfo
277 wayPOIInfos:(nullable NSArray<AMapNaviPOIInfo *> *)wayPOIInfos
278 drivingStrategy:(AMapNaviDrivingStrategy)strategy;
279
280// 5.1 算路协议升级后的路线还原接口 routeguide 协议版本号 since 9.0.0
285- (NSString *_Nullable)getPushDataNaviVersion;
286
291- (NSString *_Nullable)routeSDKVersion;
292
297- (NSString *_Nullable)routeServerVersion;
298@end
299
300#pragma mark - Escort
301
302@interface AMapNaviDriveManager (Escort)
303
309- (BOOL)setEscortMissonID:(NSNumber *)missonID;
310
311@end
312
313#pragma mark - Private
314
315@interface AMapNaviDriveManager (Private)
319+ (BOOL)setCustomCloudControlEnable:(BOOL)enable;
323- (BOOL)setExtenalCloudControl:(nullable NSString *)cloudControlString;
324
368- (BOOL)getRestrictareaInfoInRoute:(AMapNaviRoute *)route callback:(nonnull void (^)(BOOL responseSuccess, NSString *responseData, NSString *errorDesc))callback;
369
370@end
371
372#pragma mark - AMapNaviDriveManagerDelegate
373@protocol AMapNaviDriveManagerDelegate <NSObject>
374@optional
380- (void)driveManager:(AMapNaviDriveManager *)driveManager error:(NSError *)error;
381
386- (void)driveManagerOnCalculateRouteSuccess:(AMapNaviDriveManager *)driveManager;
387
393- (void)driveManager:(AMapNaviDriveManager *)driveManager onCalculateRouteSuccessWithType:(AMapNaviRoutePlanType)type;
394
400- (void)driveManager:(AMapNaviDriveManager *)driveManager onCalculateRouteFailure:(NSError *)error;
401
408- (void)driveManager:(AMapNaviDriveManager *)driveManager onCalculateRouteFailure:(NSError *)error routePlanType:(AMapNaviRoutePlanType)type;
409
415- (void)driveManager:(AMapNaviDriveManager *)driveManager didStartNavi:(AMapNaviMode)naviMode;
416
421- (void)driveManagerNeedRecalculateRouteForYaw:(AMapNaviDriveManager *)driveManager;
422
427- (void)driveManagerNeedRecalculateRouteForTrafficJam:(AMapNaviDriveManager *)driveManager;
428
434- (void)driveManager:(AMapNaviDriveManager *)driveManager onArrivedWayPoint:(int)wayPointIndex;
435
441- (BOOL)driveManagerIsNaviSoundPlaying:(AMapNaviDriveManager *)driveManager;
442
449- (void)driveManager:(AMapNaviDriveManager *)driveManager playNaviSoundString:(NSString *)soundString soundStringType:(AMapNaviSoundType)soundStringType;
450
455- (void)driveManagerDidEndEmulatorNavi:(AMapNaviDriveManager *)driveManager;
456
461- (void)driveManagerOnArrivedDestination:(AMapNaviDriveManager *)driveManager;
462
468- (void)driveManager:(AMapNaviDriveManager *)driveManager onNaviPlayRing:(AMapNaviRingType)ringType;
469
475- (void)driveManager:(AMapNaviDriveManager *)driveManager updateGPSSignalStrength:(AMapNaviGPSSignalStrength)gpsSignalStrength;
476
482- (void)driveManager:(AMapNaviDriveManager *)driveManager postRouteNotification:(AMapNaviRouteNotifyData *)notifyData;
483
489- (void)driveManager:(AMapNaviDriveManager *)driveManager onSuggestChangeMainNaviRoute:(AMapNaviSuggestChangeMainNaviRouteInfo *)suggestChangeMainNaviRouteInfo;
490
496- (void)driveManager:(AMapNaviDriveManager *_Nullable)manager onUpdateDriveComfort:(AMapNaviDriveComfort *_Nonnull)driveComfort;
497
503- (void)driveManager:(AMapNaviDriveManager *_Nullable)manager onUpdateDriveEvent:(AMapNaviDriveEvent *_Nonnull)driveEvent;
504
510- (void)driveManager:(AMapNaviDriveManager *_Nullable)manager onUpdateNaviSpeedLimitSection:(NSInteger)speed;
511@end
512
513NS_ASSUME_NONNULL_END
AMapNaviBroadcastMode
Definition AMapNaviCommonObj.h:250
AMapNaviGPSSignalStrength
Definition AMapNaviCommonObj.h:312
AMapNaviOnlineCarHailingType
Definition AMapNaviCommonObj.h:415
AMapNaviRoutePlanType
Definition AMapNaviCommonObj.h:328
AMapNaviMode
Definition AMapNaviCommonObj.h:25
AMapNaviDrivingStrategy
Definition AMapNaviCommonObj.h:55
AMapNaviDetectedMode
Definition AMapNaviCommonObj.h:184
AMapNaviRingType
Definition AMapNaviCommonObj.h:301
AMapNaviSoundType
Definition AMapNaviCommonObj.h:174
注意:该类为导航控制器基类,请不要直接使用
Definition AMapNaviBaseManager.h:22
道路舒适度信息 since 9.3.5
Definition AMapNaviCommonObj.h:1141
驾驶三急(急加速/急减速/急转弯)事件信息 since 9.3.5
Definition AMapNaviCommonObj.h:1169
驾车导航管理类
Definition AMapNaviDriveManager.h:20
BOOL updateCameraInfo
导航中是否播报摄像头信息,默认YES.
Definition AMapNaviDriveManager.h:115
NSString *_Nullable routeServerVersion()
获得 routeServer 版本号。
BOOL destroyInstance()
销毁AMapNaviDriveManager单例. AMapNaviDriveManager内存开销比较大,建议不使用时可销毁. since 5.4.0
NSInteger naviRouteID
当前导航路径的ID
Definition AMapNaviDriveManager.h:76
NSUInteger gpsWeakDetecedInterval
默认为10, 范围为[ 5, 15 ], 单位秒. 表示有连续的10s, 定位信号质量都比较差, 就会触发手机卫星定位信号弱的回调. 值越小, 就越容易触发. since 6....
Definition AMapNaviDriveManager.h:127
AMapNaviDriveManager * sharedInstance()
AMapNaviDriveManager单例. since 5.4.0.
instancetype init()
请使用单例替代. since 5.4.0 init已被禁止使用,请使用单例 [AMapNaviDriveManager sharedInstance] 替代,且在调用类的 dealloc 函数或其他适当...
NSDictionary< NSNumber *, AMapNaviRoute * > * naviRoutes
多路径规划时的所有路径信息,参考 AMapNaviRoute 类.
Definition AMapNaviDriveManager.h:85
NSString *_Nullable routeSDKVersion()
获得 routeService 版本号。
AMapNaviRoute * naviRoute
当前导航路径的信息,参考 AMapNaviRoute 类.
Definition AMapNaviDriveManager.h:79
BOOL updateTrafficInfo
导航中是否播报交通信息,默认YES(需要联网).
Definition AMapNaviDriveManager.h:118
id< AMapNaviDriveManagerDelegate > delegate
实现了 AMapNaviDriveManagerDelegate 协议的类指针
Definition AMapNaviDriveManager.h:43
AMapNaviDetectedMode detectedMode
巡航模式,默认为 AMapNaviDetectedModeNone. 注意:1. 如果已经处在导航模式,要开启巡航模式时,需要先调用 stopNavi 来停止导航,再设置 detectedMode 才能...
Definition AMapNaviDriveManager.h:121
NSString *_Nullable getPushDataNaviVersion()
获取导航路线还原版本号。since 9.0.0
NSArray< NSNumber * > * naviRouteIDs
多路径规划时的所有路径ID,路径ID为 NSInteger 类型.
Definition AMapNaviDriveManager.h:82
AMapNaviGPSSignalStrength gpsSignalStrength
卫星定位信号强度类型, 参考 AMapNaviGPSSignalStrength since 7.8.0 只在导航中获取卫星定位信号强弱的值才有效
Definition AMapNaviDriveManager.h:124
nullable NSArray< AMapNaviTrafficStatus * > * getTrafficStatuses()
获取当前道路的路况光柱信息
高德POI信息 since 6.4.0
Definition AMapNaviCommonObj.h:1059
平行路切换信息 since 6.6.0
Definition AMapNaviCommonObj.h:1076
Definition AMapNaviCommonObj.h:485
导航路径信息集合. since 7.7.0
Definition AMapNaviRoute.h:237
导航路径信息
Definition AMapNaviRoute.h:145
实时导航过程中关于路线的‘通知信息’ since 6.2.0
Definition AMapNaviCommonObj.h:955
多路线导航模式下,建议将某备选路线切换为主导航路线 since 6.3.0
Definition AMapNaviCommonObj.h:1014
前方交通路况信息类
Definition AMapNaviCommonObj.h:580
车辆信息 since 6.0.0
Definition AMapNaviCommonObj.h:845
© 2017 高德信息技术有限公司 版权所有,保留所有权利。