IndoorMapSDK
室内地图SDK参考文档
 全部  函数 变量 属性
OIMMapView+Overlay.h
1 //
2 // OIMMapView+Overlay.h
3 // IndoorMapSDK
4 //
5 // Created by Macro on 16/5/10.
6 // Copyright © 2016年 Macro. All rights reserved.
7 //
8 
9 #import <IndoorMapSDK/IndoorMapSDK.h>
10 
11 //#import "OIMMapView.h"
12 //#import "OIMMapKit.h"
13 
14 
15 //
16 //typedef NS_ENUM(NSInteger, OIMUserTrackingMode)
17 //{
18 // OIMUserTrackingModeNone = 0, // 不追踪用户的location更新
19 // OIMUserTrackingModeFollow = 1, // 追踪用户的location更新
20 // OIMUserTrackingModeFollowWithHeading = 2 // 追踪用户的location与heading更新
21 //};
22 //
23 
24 
26 
27 
28 //
30 // @brief logo位置, 必须在mapView.bounds之内,否则会被忽略
31 // */
32 //@property (nonatomic) CGPoint logoCenter;
33 //
35 // @brief logo的宽高
36 // */
37 //@property (nonatomic, readonly) CGSize logoSize;
38 //
39 //
40 //
42 // @brief 是否支持缩放
43 // */
44 //@property (nonatomic, getter = isZoomEnabled) BOOL zoomEnabled;
45 //
47 // @brief 是否支持平移
48 // */
49 //@property (nonatomic, getter = isScrollEnabled) BOOL scrollEnabled;
50 //
52 // @brief 是否支持旋转
53 // */
54 //@property (nonatomic, getter = isRotateEnabled) BOOL rotateEnabled;
55 //
57 // @brief 是否支持单击地图获取POI信息(默认为YES)
58 // 对应的回调是 - (void)mapView:(OIMMapView *)mapView didTouchPois:(NSArray *)pois
59 // */
60 //@property (nonatomic) BOOL touchPOIEnabled;
61 //
63 // @brief 设置地图旋转角度(逆时针为正向)
64 // */
65 //@property (nonatomic) CGFloat rotationDegree;
66 //
67 //
69 // @brief 是否支持天空模式,默认为YES. 开启后,进入天空模式后,annotation重用可视范围会缩减
70 // */
71 //@property (nonatomic, getter = isSkyModelEnabled) BOOL skyModelEnable;
72 //
74 // @brief 设置地图旋转角度(逆时针为正向)
75 // @param animated 动画
76 // @param duration 动画时间
77 // */
78 //- (void)setRotationDegree:(CGFloat)rotationDegree animated:(BOOL)animated duration:(CFTimeInterval)duration;
79 //
81 // @brief 设置地图相机角度(范围为[0.f, 60.f],但高于40度的角度需要在16级以上才能生效)
82 // @param cameraDegree 角度
83 // */
84 //@property (nonatomic) CGFloat cameraDegree;
85 //
86 //- (void)setCameraDegree:(CGFloat)cameraDegree animated:(BOOL)animated duration:(CFTimeInterval)duration;
87 //
89 // @brief 是否支持camera旋转
90 // */
91 //@property (nonatomic, getter = isRotateCameraEnabled) BOOL rotateCameraEnabled;
92 //
94 // @brief 是否显示罗盘
95 // */
96 //@property (nonatomic, assign) BOOL showsCompass;
97 //
99 // @brief 罗盘原点位置
100 // */
101 //@property (nonatomic) CGPoint compassOrigin;
102 //
104 // @brief 罗盘的宽高
105 // */
106 //@property (nonatomic, readonly) CGSize compassSize;
107 //
109 // @brief 设置罗盘的图片
110 // */
111 //- (void)setCompassImage:(UIImage *)image;
112 //
114 // @brief 是否显示比例尺
115 // */
116 //@property (nonatomic) BOOL showsScale;
117 //
119 // @brief 比例尺原点位置
120 // */
121 //@property (nonatomic) CGPoint scaleOrigin;
122 //
124 // @brief 比例尺的最大宽高
125 // */
126 //@property (nonatomic, readonly) CGSize scaleSize;
127 //
129 // @brief 室内地图控件的最大宽高
130 // */
131 //@property (nonatomic, readonly) CGSize indoorMapControlSize;
132 //
134 // @brief 在当前缩放级别下, 基于地图中心点, 1 screen point 对应的距离(单位是米).
135 // */
136 //@property (nonatomic, readonly) double metersPerPointForCurrentZoom;
137 //
138 //
139 //
140 //
141 //
143 // @brief 在指定的缩放级别下, 基于地图中心点, 1 screen point 对应的距离(单位是米).
144 // @param zoomLevel 指定的缩放级别, 在[minZoomLevel, maxZoomLevel]范围内.
145 // @return 对应的距离(单位是米)
146 // */
147 //- (double)metersPerPointForZoomLevel:(CGFloat)zoomLevel;
148 //
150 // @brief 当前地图的经纬度范围,设定的该范围可能会被调整为适合地图窗口显示的范围
151 // */
152 //@property (nonatomic) OIMCoordinateRegion region;
153 //- (void)setRegion:(OIMCoordinateRegion)region animated:(BOOL)animated;
154 //
156 // @brief 当前地图的中心点,改变该值时,地图的比例尺级别不会发生变化
157 // */
158 //@property (nonatomic) CLLocationCoordinate2D centerCoordinate;
159 //- (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
160 //
162 // @brief 设置地图状态
163 // @param animated 是否动画
164 // @param duration 动画时间 默认动画时间为0.35s
165 // */
166 //- (void)setMapStatus:(OIMMapStatus *)status
167 // animated:(BOOL)animated;
168 //
169 //- (void)setMapStatus:(OIMMapStatus *)status
170 // animated:(BOOL)animated
171 // duration:(CFTimeInterval)duration;
172 //
173 //- (OIMMapStatus *)getMapStatus;
174 //
176 // @brief 根据当前地图视图frame的大小调整region范围
177 // @param region 要调整的经纬度范围
178 // @return 调整后的经纬度范围
179 // */
180 //- (OIMCoordinateRegion)regionThatFits:(OIMCoordinateRegion)region;
181 //
183 // @brief 可见区域
184 // */
185 //@property (nonatomic) OIMMapRect visibleMapRect;
186 //- (void)setVisibleMapRect:(OIMMapRect)mapRect animated:(BOOL)animated;
187 //
189 // @brief 缩放级别
190 // */
191 //@property (nonatomic) CGFloat zoomLevel;
192 //- (void)setZoomLevel:(CGFloat)zoomLevel animated:(BOOL)animated;
193 //
195 // @brief 根据指定的枢纽点来缩放地图
196 // @param zoomLevel 缩放级别
197 // @param pivot 枢纽点(基于地图view的坐标系)
198 // @param animated 是否动画
199 // */
200 //- (void)setZoomLevel:(CGFloat)zoomLevel atPivot:(CGPoint)pivot animated:(BOOL)animated;
201 //
203 // @brief 最小缩放级别
204 // */
205 //@property (nonatomic, readonly) CGFloat minZoomLevel;
206 //
208 // @brief 最大缩放级别
209 // */
210 //@property (nonatomic, readonly) CGFloat maxZoomLevel;
211 //
213 // @brief 调整投影矩形比例
214 // @param mapRect 要调整的投影矩形
215 // @return 调整后的投影矩形
216 // */
217 //- (OIMMapRect)mapRectThatFits:(OIMMapRect)mapRect;
218 //
220 // @brief 根据当前地图视图frame的大小调整投影范围
221 // @param mapRect 要调整的投影范围
222 // @return 调整后的投影范围
223 // */
224 //- (void)setVisibleMapRect:(OIMMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animate;
225 //
227 // @brief 根据嵌入数据来调整投影矩形比例
228 // @param mapRect 要调整的投影矩形
229 // @param insets 嵌入数据
230 // @return 调整后的投影矩形
231 // */
232 //- (OIMMapRect)mapRectThatFits:(OIMMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
233 //
235 // @brief 将经纬度转换为指定view坐标系的坐标
236 // @param coordinate 经纬度
237 // @param view 指定的view
238 // @return 基于指定view坐标系的坐标
239 // */
240 //- (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
241 //
243 // @brief 将指定view坐标系的坐标转换为经纬度
244 // @param point 指定view坐标系的坐标
245 // @param view 指定的view
246 // @return 经纬度
247 // */
248 //- (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
249 //
251 // @brief 将经纬度region转换为指定view坐标系的rect
252 // @param region 经纬度region
253 // @param view 指定的view
254 // @return 指定view坐标系的rect
255 // */
256 //- (CGRect)convertRegion:(OIMCoordinateRegion)region toRectToView:(UIView *)view;
257 //
259 // @brief 将指定view坐标系的rect转换为经纬度region
260 // @param rect 指定view坐标系的rect
261 // @param view 指定的view
262 // @return 经纬度region
263 // */
264 //- (OIMCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view;
265 //
266 //
267 //
268 //
270 // @brief 是否显示用户位置
271 // */
272 //@property (nonatomic) BOOL showsUserLocation;
273 //
275 // @brief 当前的位置数据
276 // */
277 //@property (nonatomic, readonly) OIMUserLocation *userLocation;
278 //
280 // @brief 是否自定义用户位置精度圈(userLocationAccuracyCircle)对应的 view, 默认为 NO.
281 // 如果为YES: 会调用 - (OIMOverlayRenderer *)mapView:(OIMMapView *)mapView rendererForOverlay:(OIMOverlay*)overlay 若返回nil, 则不加载.
282 // 如果为NO : 会使用默认的样式.
283 // */
284 //@property (nonatomic) BOOL customizeUserLocationAccuracyCircleRepresentation;
285 //
287 // @brief 用户位置精度圈 对应的overlay.
288 // */
289 //@property (nonatomic, readonly) OIMCircle *userLocationAccuracyCircle;
290 //
292 // @brief 定位用户位置的模式
293 // */
294 //@property (nonatomic) OIMUserTrackingMode userTrackingMode;
295 //- (void)setUserTrackingMode:(OIMUserTrackingMode)mode animated:(BOOL)animated;
296 //
298 // @brief 当前位置再地图中是否可见
299 // */
300 //@property (nonatomic, readonly, getter=isUserLocationVisible) BOOL userLocationVisible;
301 //
302 //
303 
304 
305 
306 
307 
312 - (void)addAnnotation:(id<OIMAnnotation>)annotation;
313 
318 - (void)addAnnotations:(NSArray *)annotations;
319 
324 - (void)removeAnnotation:(id<OIMAnnotation>)annotation;
325 
330 - (void)removeAnnotations:(NSArray *)annotations;
331 
335 @property (nonatomic, readonly) NSArray *annotations;
336 
338 // @brief 获取指定投影矩形范围内的标注
339 // @param mapRect 投影矩形范围
340 // @return 标注集合
341 // */
342 //- (NSSet *)annotationsInMapRect:(OIMMapRect)mapRect;
343 
349 - (OIMAnnotationView *)viewForAnnotation:(id<OIMAnnotation>)annotation;
350 
352 // @brief 从复用内存池中获取制定复用标识的annotation view
353 // @param identifier 复用标识
354 // @return annotation view
355 // */
356 //- (OIMAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
357 
363 - (void)selectAnnotation:(id<OIMAnnotation>)annotation animated:(BOOL)animated;
364 
370 - (void)deselectAnnotation:(id<OIMAnnotation>)annotation animated:(BOOL)animated;
371 
375 @property (nonatomic, copy) NSArray *selectedAnnotations;
376 
378 // @brief annotation 可见区域
379 // */
380 //@property (nonatomic, readonly) CGRect annotationVisibleRect;
381 
387 - (void)showAnnotations:(NSArray *)annotations animated:(BOOL)animated;
388 
390 // * 设置地图使其可以显示数组中所有的annotation, 如果数组中只有一个则直接设置地图中心为annotation的位置。
391 // *
392 // * @param annotations 需要显示的annotation
393 // * @param insets insets 嵌入边界
394 // * @param animated 是否执行动画
395 // */
396 //- (void)showAnnotations:(NSArray *)annotations edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
397 
398 
399 
400 
401 
402 
403 
404 
405 
406 
407 
408 
409 
410 
411 
412 @end
413 
414 
415 
416 
417 
418 
420 // @brief 绘制overlay的层级
421 // */
422 //typedef NS_ENUM(NSInteger, OIMOverlayLevel) {
423 // OIMOverlayLevelAboveRoads = 0, // 在地图底图标注和兴趣点图标之下绘制overlay
424 // OIMOverlayLevelAboveLabels // 在地图底图标注和兴趣点图标之上绘制overlay
425 //};
426 
431 
435 @property (nonatomic, readonly) NSArray *overlays;
436 
438 // @brief 取位于level下的overlays
439 // */
440 //- (NSArray *)overlaysInLevel:(OIMOverlayLevel)level;
441 
448 - (void)addOverlay:(OIMOverlay *)overlay;
449 
456 - (void)addOverlays:(NSArray *)overlays;
457 
459 // @brief 向地图窗口添加Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer
460 // @param overlay 要添加的overlay
461 // @param level 添加的overlay所在层级
462 // */
463 //- (void)addOverlay:(OIMOverlay*)overlay level:(OIMOverlayLevel)level;
464 //
466 // @brief 向地图窗口添加一组Overlay,需要实现OIMMapViewDelegate的-mapView:rendererForOverlay:函数来生成标注对应的Renderer
467 // @param overlays 要添加的overlay数组
468 // @param level 添加的overlay所在层级
469 // */
470 //- (void)addOverlays:(NSArray *)overlays level:(OIMOverlayLevel)level;
471 
476 - (void)removeOverlay:(OIMOverlay*)overlay;
477 
482 - (void)removeOverlays:(NSArray *)overlays;
483 
485 // @brief 在指定层级的指定的索引处添加一个Overlay
486 // @param overlay 要添加的overlay
487 // @param index 指定的索引
488 // @param level 指定的层级
489 //
490 // 注:各个层级的索引分开计数;
491 // 若index大于level层级的最大索引,则添加至level层级的最大索引之后。
492 // */
493 //- (void)insertOverlay:(OIMOverlay*)overlay atIndex:(NSUInteger)index level:(OIMOverlayLevel)level;
494 //
496 // @brief 在指定的Overlay之上插入一个overlay
497 // @param overlay 带添加的Overlay
498 // @param sibling 用于指定相对位置的Overlay
499 // */
500 //- (void)insertOverlay:(OIMOverlay*)overlay aboveOverlay:(OIMOverlay*)sibling;
501 //
503 // @brief 在指定的Overlay之下插入一个overlay
504 // @param overlay 带添加的Overlay
505 // @param sibling 用于指定相对位置的Overlay
506 // */
507 //- (void)insertOverlay:(OIMOverlay*)overlay belowOverlay:(OIMOverlay*)sibling;
508 //
510 // @brief 在指定的索引处添加一个Overlay
511 // @param overlay 要添加的overlay
512 // @param index 指定的索引
513 // */
514 //- (void)insertOverlay:(OIMOverlay*)overlay atIndex:(NSUInteger)index;
515 //
517 // @brief 交换指定索引处的Overlay
518 // @param index1 索引1
519 // @param index2 索引2
520 // */
521 //- (void)exchangeOverlayAtIndex:(NSUInteger)index1 withOverlayAtIndex:(NSUInteger)index2;
522 //
524 // @brief 交换两个overlay
525 // @param overlay1
526 // @param overlay2
527 // */
528 //- (void)exchangeOverlay:(OIMOverlay*)overlay1 withOverlay:(OIMOverlay*)overlay2;
529 
535 - (OIMOverlayRenderer *)rendererForOverlay:(OIMOverlay*)overlay;
536 
537 #pragma mark - deprecated
538 
540 // @brief 查找指定overlay对应的View,如果该View尚未创建,返回nil
541 // @param overlay 指定的overlay
542 // @return 指定overlay对应的View
543 // */
544 //- (OIMOverlayView *)viewForOverlay:(OIMOverlay*)overlay __attribute__ ((deprecated("use - (OIMOverlayRenderer *)mapView:(OIMMapView *)mapView rendererForOverlay:(OIMOverlay*)overlay instead")));
545 
546 @end
547 
548 
549 
绘制overlay的层级
Definition: OIMMapView+Overlay.h:430
标注view
Definition: OIMAnnotationView.h:25
Definition: OIMMapView+Overlay.h:25
该类为标注点的protocol,提供了标注类的基本信息函数
Definition: OIMAnnotation.h:17