高德地图SDK(导航)  V7.7.0
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 
9 #import "AMapNaviBaseManager.h"
11 
12 NS_ASSUME_NONNULL_BEGIN
13 
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 
106 #pragma mark - Options
107 
109 @property (nonatomic, assign) BOOL updateCameraInfo;
110 
112 @property (nonatomic, assign) BOOL updateTrafficInfo;
113 
115 @property (nonatomic, assign) AMapNaviDetectedMode detectedMode;
116 
118 @property (nonatomic, assign, readonly) AMapNaviGPSSignalStrength gpsSignalStrength;
119 
121 @property (nonatomic, assign) NSUInteger gpsWeakDetecedInterval;
122 
123 #pragma mark - Calculate Route
124 
125 // 以下算路方法需要高德坐标(GCJ02)
126 
134 - (BOOL)calculateDriveRouteWithEndPoints:(NSArray<AMapNaviPoint *> *)endPoints
135  wayPoints:(nullable NSArray<AMapNaviPoint *> *)wayPoints
136  drivingStrategy:(AMapNaviDrivingStrategy)strategy;
137 
146 - (BOOL)calculateDriveRouteWithStartPoints:(NSArray<AMapNaviPoint *> *)startPoints
147  endPoints:(NSArray<AMapNaviPoint *> *)endPoints
148  wayPoints:(nullable NSArray<AMapNaviPoint *> *)wayPoints
149  drivingStrategy:(AMapNaviDrivingStrategy)strategy;
150 
159 - (BOOL)calculateDriveRouteWithStartPointPOIId:(nullable NSString *)startPOIId
160  endPointPOIId:(nonnull NSString *)endPOIId
161  wayPointsPOIId:(nullable NSArray<NSString *> *)wayPOIIds
162  drivingStrategy:(AMapNaviDrivingStrategy)strategy;
171 - (BOOL)calculateDriveRouteWithStartPOIInfo:(nullable AMapNaviPOIInfo *)startPOIInfo
172  endPOIInfo:(nonnull AMapNaviPOIInfo *)endPOIInfo
173  wayPOIInfos:(nullable NSArray<AMapNaviPOIInfo *> *)wayPOIInfos
174  drivingStrategy:(AMapNaviDrivingStrategy)strategy;
175 
185 - (BOOL)independentCalculateDriveRouteWithStartPOIInfo:(nullable AMapNaviPOIInfo *)startPOIInfo
186  endPOIInfo:(nonnull AMapNaviPOIInfo *)endPOIInfo
187  wayPOIInfos:(nullable NSArray<AMapNaviPOIInfo *> *)wayPOIInfos
188  drivingStrategy:(AMapNaviDrivingStrategy)strategy
189  callback:(nullable void (^)(AMapNaviRouteGroup *_Nullable routeGroup, NSError *_Nullable error))callback;
195 - (BOOL)recalculateDriveRouteWithDrivingStrategy:(AMapNaviDrivingStrategy)strategy;
196 
197 #pragma mark - Manual
198 
204 - (void)setVehicleProvince:(NSString *)province number:(NSString *)number __attribute__((deprecated("已废弃,请使用 setVehicleInfo: 替代,since 6.0.0")));
205 
211 - (BOOL)setVehicleInfo:(nullable AMapNaviVehicleInfo *)vehicleInfo;
212 
218 - (BOOL)setBroadcastMode:(AMapNaviBroadcastMode)mode;
219 
225 - (BOOL)setOnlineCarHailingType:(AMapNaviOnlineCarHailingType)type;
226 
227 #pragma mark - Traffic Status
228 
235 - (nullable NSArray<AMapNaviTrafficStatus *> *)getTrafficStatusesWithStartPosition:(int)startPosition distance:(int)distance;
236 
241 - (nullable NSArray<AMapNaviTrafficStatus *> *)getTrafficStatuses;
242 
243 #pragma mark - Xcode Simulate Location
244 
249 - (void)setXcodeSimulateLocationEnable:(BOOL)enableNavi __attribute__((deprecated("已废弃,since 7.5.0")));
250 
251 #pragma mark - Statistics Information
252 
253 @end
254 
255 #pragma mark - Escort
256 
258 
264 - (BOOL)setEscortMissonID:(NSNumber *)missonID;
265 
266 @end
267 
268 #pragma mark - AMapNaviDriveManagerDelegate
269 
270 @protocol AMapNaviDriveManagerDelegate <NSObject>
271 @optional
277 - (void)driveManager:(AMapNaviDriveManager *)driveManager error:(NSError *)error;
278 
283 - (void)driveManagerOnCalculateRouteSuccess:(AMapNaviDriveManager *)driveManager;
284 
290 - (void)driveManager:(AMapNaviDriveManager *)driveManager onCalculateRouteSuccessWithType:(AMapNaviRoutePlanType)type;
291 
297 - (void)driveManager:(AMapNaviDriveManager *)driveManager onCalculateRouteFailure:(NSError *)error;
298 
305 - (void)driveManager:(AMapNaviDriveManager *)driveManager onCalculateRouteFailure:(NSError *)error routePlanType:(AMapNaviRoutePlanType)type;
306 
312 - (void)driveManager:(AMapNaviDriveManager *)driveManager didStartNavi:(AMapNaviMode)naviMode;
313 
318 - (void)driveManagerNeedRecalculateRouteForYaw:(AMapNaviDriveManager *)driveManager;
319 
324 - (void)driveManagerNeedRecalculateRouteForTrafficJam:(AMapNaviDriveManager *)driveManager;
325 
331 - (void)driveManager:(AMapNaviDriveManager *)driveManager onArrivedWayPoint:(int)wayPointIndex;
332 
338 - (BOOL)driveManagerIsNaviSoundPlaying:(AMapNaviDriveManager *)driveManager;
339 
346 - (void)driveManager:(AMapNaviDriveManager *)driveManager playNaviSoundString:(NSString *)soundString soundStringType:(AMapNaviSoundType)soundStringType;
347 
352 - (void)driveManagerDidEndEmulatorNavi:(AMapNaviDriveManager *)driveManager;
353 
358 - (void)driveManagerOnArrivedDestination:(AMapNaviDriveManager *)driveManager;
359 
365 - (void)driveManager:(AMapNaviDriveManager *)driveManager onNaviPlayRing:(AMapNaviRingType)ringType;
366 
372 - (void)driveManager:(AMapNaviDriveManager *)driveManager updateGPSSignalStrength:(AMapNaviGPSSignalStrength)gpsSignalStrength;
373 
379 - (void)driveManager:(AMapNaviDriveManager *)driveManager postRouteNotification:(AMapNaviRouteNotifyData *)notifyData;
380 
386 - (void)driveManager:(AMapNaviDriveManager *)driveManager onSuggestChangeMainNaviRoute:(AMapNaviSuggestChangeMainNaviRouteInfo *)suggestChangeMainNaviRouteInfo;
387 @end
388 
389 NS_ASSUME_NONNULL_END
AMapNaviPoint
Definition: AMapNaviCommonObj.h:450
AMapNaviDriveManager::naviRouteID
NSInteger naviRouteID
当前导航路径的ID
Definition: AMapNaviDriveManager.h:76
AMapNaviDriveManager::detectedMode
AMapNaviDetectedMode detectedMode
巡航模式,默认为 AMapNaviDetectedModeNone. 注意:1. 如果已经处在导航模式,要开启巡航模式时,需要先调用 stopNavi 来停止导航,再设置 detectedMode 才能...
Definition: AMapNaviDriveManager.h:115
AMapNaviDriveManager::naviRoute
AMapNaviRoute * naviRoute
当前导航路径的信息,参考 AMapNaviRoute 类.
Definition: AMapNaviDriveManager.h:79
AMapNaviParallelRoadInfo
平行路切换信息 since 6.6.0
Definition: AMapNaviCommonObj.h:1024
AMapNaviDriveManager
驾车导航管理类
Definition: AMapNaviDriveManager.h:20
AMapNaviDriveManager::updateCameraInfo
BOOL updateCameraInfo
导航中是否播报摄像头信息,默认YES.
Definition: AMapNaviDriveManager.h:109
AMapNaviDriveManager::naviRoutes
NSDictionary< NSNumber *, AMapNaviRoute * > * naviRoutes
多路径规划时的所有路径信息,参考 AMapNaviRoute 类.
Definition: AMapNaviDriveManager.h:85
AMapNaviDriveManager::updateTrafficInfo
BOOL updateTrafficInfo
导航中是否播报交通信息,默认YES(需要联网).
Definition: AMapNaviDriveManager.h:112
AMapNaviDriveDataRepresentable-p
AMapNaviDriveDataRepresentable协议.实例对象可以通过实现该协议,并将其通过 AMapNaviDriveManager 的addDataRepresentative:方法进行...
Definition: AMapNaviDriveDataRepresentable.h:24
AMapNaviDriveDataRepresentable.h
+[AMapNaviDriveManager sharedInstance]
AMapNaviDriveManager * sharedInstance()
AMapNaviDriveManager单例. since 5.4.0.
AMapNaviDriveManager::gpsWeakDetecedInterval
NSUInteger gpsWeakDetecedInterval
默认为10, 范围为[ 5, 15 ], 单位秒. 表示有连续的10s, 定位信号质量都比较差, 就会触发手机卫星定位信号弱的回调. 值越小, 就越容易触发. since 6....
Definition: AMapNaviDriveManager.h:121
AMapNaviDriveManager(Escort)
Definition: AMapNaviDriveManager.h:257
-[AMapNaviDriveManager init]
instancetype init()
请使用单例替代. since 5.4.0 init已被禁止使用,请使用单例 [AMapNaviDriveManager sharedInstance] 替代,且在调用类的 dealloc 函数或其他适当...
AMapNaviRoute
导航路径信息
Definition: AMapNaviRoute.h:132
AMapNaviTrafficStatus
前方交通路况信息类
Definition: AMapNaviCommonObj.h:545
-[AMapNaviDriveManager getTrafficStatuses]
nullable NSArray< AMapNaviTrafficStatus * > * getTrafficStatuses()
获取当前道路的路况光柱信息
AMapNaviPOIInfo
高德POI信息 since 6.4.0
Definition: AMapNaviCommonObj.h:1007
AMapNaviVehicleInfo
车辆信息 since 6.0.0
Definition: AMapNaviCommonObj.h:796
+[AMapNaviDriveManager destroyInstance]
BOOL destroyInstance()
销毁AMapNaviDriveManager单例. AMapNaviDriveManager内存开销比较大,建议不使用时可销毁. since 5.4.0
AMapNaviRouteGroup
导航路径信息集合. since 7.7.0
Definition: AMapNaviRoute.h:224
AMapNaviDriveManager::delegate
id< AMapNaviDriveManagerDelegate > delegate
实现了 AMapNaviDriveManagerDelegate 协议的类指针
Definition: AMapNaviDriveManager.h:43
AMapNaviDriveManager::naviRouteIDs
NSArray< NSNumber * > * naviRouteIDs
多路径规划时的所有路径ID,路径ID为 NSInteger 类型.
Definition: AMapNaviDriveManager.h:82
AMapNaviBaseManager.h
AMapNaviDriveManager::gpsSignalStrength
AMapNaviGPSSignalStrength gpsSignalStrength
卫星定位信号强度类型, 参考 AMapNaviGPSSignalStrength . since 5.5.0
Definition: AMapNaviDriveManager.h:118
AMapNaviDriveManagerDelegate-p
Definition: AMapNaviDriveManager.h:270
AMapNaviRouteNotifyData
实时导航过程中关于路线的‘通知信息’ since 6.2.0
Definition: AMapNaviCommonObj.h:903
AMapNaviSuggestChangeMainNaviRouteInfo
多路线导航模式下,建议将某备选路线切换为主导航路线 since 6.3.0
Definition: AMapNaviCommonObj.h:962
AMapNaviBaseManager
注意:该类为导航控制器基类,请不要直接使用
Definition: AMapNaviBaseManager.h:22
© 2017 高德信息技术有限公司 版权所有,保留所有权利。