BaiduMap_IOSSDK_v6.5.5doc_Docs  6.5.5
BMKMapView.h
浏览该文件的文档.
1 /*
2  * BMKMapView.h
3  * BMapKit
4  *
5  * Copyright 2011 Baidu Inc. All rights reserved.
6  *
7  */
8 
9 #import "BMKAnnotation.h"
10 #import "BMKAnnotationView.h"
11 #import "BMKOverlayView.h"
12 #import "BMKMapStatus.h"
14 #import "BMKHeatMap.h"
15 #import "BMKBaseIndoorMapInfo.h"
17 #import "BMapType.h"
19 
20 NS_ASSUME_NONNULL_BEGIN
21 @class BMMapControl;
22 @class CompassOverlay;
23 @class BMKUserLocation;
24 @protocol BMKMapViewDelegate;
25 
27 @interface BMKMapPoi : NSObject
28 
30 @property (nonatomic, copy, nullable) NSString *text;
31 
33 @property (nonatomic, assign) CLLocationCoordinate2D pt;
34 
36 @property (nonatomic, copy, nullable) NSString *uid;
37 
38 @end
39 
40 typedef enum {
46 
48 typedef enum {
56 
58 typedef enum {
64 
66 typedef enum {
71 
72 typedef enum {
76 
77 
79 typedef enum {
85 
87 @interface BMKMapView : UIView
88 
90 @property (nonatomic, weak, nullable) id<BMKMapViewDelegate> delegate;
91 
93 @property (nonatomic, weak, nullable) id<BMKMapGestureDelegate> gestureDelegate;
94 
96 @property (nonatomic, assign) BMKMapType mapType;
97 
102 @property (nonatomic, assign) BMKMapLanguageType languageType;
103 
106 @property (nonatomic, strong) UIColor *backgroundColor;
107 
109 @property (nonatomic, assign) BMKCoordinateRegion region;
110 
112 @property (nonatomic, assign) BMKCoordinateRegion limitMapRegion;
113 
115 @property (nonatomic, assign) CGPoint compassPosition;
116 
118 @property (nonatomic, readonly) CGSize compassSize;
119 
121 @property (nonatomic, assign) CLLocationCoordinate2D centerCoordinate;
122 
126 @property (nonatomic, assign) NSInteger fontSizeLevel;
127 
129 @property (nonatomic, assign) float zoomLevel;
130 
132 @property (nonatomic, assign) float minZoomLevel;
133 
135 @property (nonatomic, assign) float maxZoomLevel;
136 
138 @property (nonatomic, assign) int rotation;
139 
141 @property (nonatomic, assign) int overlooking;
142 
144 @property (nonatomic, assign) int minOverlooking;
145 
147 @property(nonatomic, getter = isBuildingsEnabled) BOOL buildingsEnabled;
148 
150 @property(nonatomic, assign) BOOL showMapPoi;
151 
153 @property(nonatomic, getter = isTrafficEnabled) BOOL trafficEnabled;
154 
156 @property(nonatomic, getter = isBaiduHeatMapEnabled) BOOL baiduHeatMapEnabled;
157 
159 @property(nonatomic) BOOL gesturesEnabled;
160 
162 @property(nonatomic, getter = isZoomEnabled) BOOL zoomEnabled;
163 
165 @property(nonatomic, getter = isZoomEnabledWithTap) BOOL zoomEnabledWithTap;
166 
168 @property(nonatomic, getter = isScrollEnabled) BOOL scrollEnabled;
169 
171 @property(nonatomic, getter = isOverlookEnabled) BOOL overlookEnabled;
172 
174 @property(nonatomic, getter = isRotateEnabled) BOOL rotateEnabled;
175 
177 @property(nonatomic, assign) BOOL forceTouchEnabled;
178 
180 @property(nonatomic, assign) BOOL gestureZoomAnimationEnabled;
181 
183 @property (nonatomic, assign) BOOL showMapScaleBar;
184 
186 @property (nonatomic, assign) CGPoint mapScaleBarPosition;
187 
189 @property (nonatomic, readonly) CGSize mapScaleBarSize;
190 
192 @property (nonatomic, assign) BMKLogoPosition logoPosition;
193 
195 @property (nonatomic, assign) BMKMapRect visibleMapRect;
196 
200 @property (nonatomic, assign) UIEdgeInsets mapPadding;
201 
203 @property (nonatomic, assign) BOOL updateTargetScreenPtWhenMapPaddingChanged;
204 
209 @property(nonatomic, getter = isChangeWithTouchPointCenterEnabled) BOOL ChangeWithTouchPointCenterEnabled;
210 
215 @property(nonatomic, getter = isChangeCenterWithDoubleTouchPointEnabled) BOOL ChangeCenterWithDoubleTouchPointEnabled;
216 
220 + (void)customMapStyle:(NSString *)customMapStyleJsonFilePath __deprecated_msg("Please use - (void)setCustomMapStyleEnable:(BOOL)enable");
221 
224 + (void)enableCustomMapStyle:(BOOL)enable __deprecated_msg("Please use - (void)setCustomMapStylePath:(NSString *)customMapStyleFilePath");
225 
228 + (void)willBackGround __deprecated_msg("废弃方法(空实现),逻辑由地图SDK控制");
229 
232 + (void)didForeGround __deprecated_msg("废弃方法(空实现),逻辑由地图SDK控制");
233 
236 + (BOOL)setBaiduMapSDKMetalEnable:(BOOL)metalEnable;
237 
245 - (BOOL)setCustomTrafficColorForSmooth:(UIColor *)smooth
246  slow:(UIColor *)slow
247  congestion:(UIColor *)congestion
248  severeCongestion:(UIColor *)severeCongestion;
249 
251 - (void)viewWillAppear;
252 
254 - (void)viewWillDisappear;
255 
257 - (void)mapForceRefresh;
258 
261 - (BOOL)zoomIn;
262 
265 - (BOOL)zoomOut;
266 
268 - (BMKCoordinateRegion)regionThatFits:(BMKCoordinateRegion)region __deprecated_msg("此方法已废弃");
269 
273 - (void)setRegion:(BMKCoordinateRegion)region animated:(BOOL)animated;
274 
278 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
279 
284 - (nullable UIImage *)takeSnapshot;
285 
290 - (nullable UIImage *)takeSnapshot:(CGRect)rect;
291 
294 - (void)setCompassImage:(UIImage *)image;
295 
299 - (void)setVisibleMapRect:(BMKMapRect)mapRect animated:(BOOL)animate;
300 
302 - (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect __deprecated_msg("此方法已废弃");
303 
308 - (void)setVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animate;
309 
314 - (void)fitVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets withAnimated:(BOOL)animate;
315 
320 - (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
321 
326 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
327 
332 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
333 
338 - (CGRect)convertRegion:(BMKCoordinateRegion)region toRectToView:(UIView *)view;
339 
344 - (BMKCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view;
345 
350 - (CGRect)convertMapRect:(BMKMapRect)mapRect toRectToView:(UIView *)view;
351 
356 - (BMKMapRect)convertRect:(CGRect)rect toMapRectFromView:(UIView *)view;
357 
361 - (CGPoint)screenPointFromMapPoint3:(BMKMapPoint3)mapPoint3;
362 
366 - (CGPoint)glPointForMapPoint:(BMKMapPoint)mapPoint;
367 
372 - (CGPoint *)glPointsForMapPoints:(BMKMapPoint *)mapPoints count:(NSUInteger)count;
373 
374 
377 - (void)setMapCenterToScreenPt:(CGPoint)ptInScreen;
378 
383 - (BMKMapStatus *)getMapStatusFromCoordinateRegion:(BMKCoordinateRegion)region edgePadding:(UIEdgeInsets)insets;
384 
387 - (BMKMapStatus *)getMapStatus;
388 
391 - (void)setMapStatus:(BMKMapStatus *)mapStatus;
392 
396 - (void)setMapStatus:(BMKMapStatus *)mapStatus withAnimation:(BOOL)bAnimation;
397 
402 - (void)setMapStatus:(BMKMapStatus *)mapStatus withAnimation:(BOOL)bAnimation withAnimationTime:(int)ulDuration;
403 
406 - (BOOL)isSurpportBaiduHeatMap;
407 
411 - (float *)getProjectionMatrix;
412 
416 - (float *)getViewMatrix;
417 
418 @end
419 
421 
425 - (void)setCustomMapStylePath:(NSString *)customMapStyleFilePath;
426 
431 - (void)setCustomMapStylePath:(NSString *)customMapStyleFilePath mode:(int)mode;
432 
436 - (void)setCustomMapStyleEnable:(BOOL)enable;
437 
450 - (void)setCustomMapStyleWithOption:(BMKCustomMapStyleOption *)option
451  preLoad:(void (^ _Nullable)(NSString * _Nullable path))preLoad
452  success:(void (^ _Nullable)(NSString * path))success
453  failure:(void (^ _Nullable)(NSError * error, NSString * _Nullable path))failure;
454 
455 
456 @end
457 
459 
461 @property (nonatomic, assign) BOOL baseIndoorMapEnabled;
462 
464 @property (nonatomic, assign) BOOL showIndoorMapPoi;
465 
470 - (BMKSwitchIndoorFloorError)switchBaseIndoorMapFloor:(NSString *)strFloor withID:(NSString *)strID;
471 
474 - (nullable BMKBaseIndoorMapInfo *)getFocusedBaseIndoorMapInfo;
475 
476 @end
477 
479 
481 @property (nonatomic, assign) BOOL showsUserLocation;
482 
484 @property (nonatomic, assign) BMKUserTrackingMode userTrackingMode;
485 
487 @property (nonatomic, readonly, getter = isUserLocationVisible) BOOL userLocationVisible;
488 
491 - (void)updateLocationViewWithParam:(BMKLocationViewDisplayParam *)locationViewDisplayParam;
492 
495 - (void)updateLocationData:(BMKUserLocation *)userLocation;
496 @end
497 
499 
501 @property (nonatomic, copy, readonly, nullable) NSArray<id <BMKAnnotation>> *annotations;
502 
504 @property (nonatomic, assign) BOOL isSelectedAnnotationViewFront;
505 
508 - (void)addAnnotation:(id <BMKAnnotation>)annotation;
509 
512 - (void)addAnnotations:(NSArray<id <BMKAnnotation>> *)annotations;
513 
516 - (void)removeAnnotation:(id <BMKAnnotation>)annotation;
517 
520 - (void)removeAnnotations:(NSArray<id <BMKAnnotation> > *)annotations;
521 
525 - (nullable BMKAnnotationView *)viewForAnnotation:(id <BMKAnnotation>)annotation;
526 
530 - (nullable BMKAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
531 
535 - (void)selectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;
536 
540 - (void)deselectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;
541 
545 - (void)showAnnotations:(NSArray<id <BMKAnnotation>> *)annotations animated:(BOOL)animated;
546 
549 - (nullable NSArray<id <BMKAnnotation>> *)annotationsInCoordinateBounds:(BMKCoordinateBounds)bounds;
550 
551 @end
552 
555 
558 - (void)addOverlay:(id <BMKOverlay>)overlay;
559 
562 - (void)addOverlays:(NSArray<id <BMKOverlay>> *)overlays;
563 
566 - (void)removeOverlay:(id <BMKOverlay>)overlay;
567 
570 - (void)removeOverlays:(NSArray<id <BMKOverlay>> *)overlays;
571 
575 - (void)insertOverlay:(id <BMKOverlay>)overlay atIndex:(NSUInteger)index;
576 
580 - (void)exchangeOverlayAtIndex:(NSUInteger)index1 withOverlayAtIndex:(NSUInteger)index2;
581 
585 - (void)insertOverlay:(id <BMKOverlay>)overlay aboveOverlay:(id <BMKOverlay>)sibling;
586 
590 - (void)insertOverlay:(id <BMKOverlay>)overlay belowOverlay:(id <BMKOverlay>)sibling;
591 
593 @property (nonatomic, copy, readonly, nullable) NSArray<id <BMKOverlay>> *overlays;
594 
598 - (nullable BMKOverlayView *)viewForOverlay:(id <BMKOverlay>)overlay;
599 
600 @end
601 
603 
606 - (void)addHeatMap:(BMKHeatMap *)heatMap;
607 
609 - (void)removeHeatMap;
610 
612 - (void)startHeatMapFrameAnimation;
613 
615 - (void)stopHeatMapFrameAnimation;
616 
618 - (void)setHeatMapFrameAnimationIndex:(NSInteger)index;
619 
620 @end
621 
623 
625 @property (nonatomic, assign) BOOL showOperateLayer;
626 
630 - (BOOL)switchOverlayLayerAndNavigationLayer:(BOOL)isSwitch;
631 
637 - (BOOL)switchOverlayLayerAndPOILayer:(BOOL)isSwitch;
638 
641 - (BOOL)getPoiTagEnable:(BMKPoiTagType)poiTagType;
642 
646 - (void)setPoiTagEnable:(BOOL)enable poiTagType:(BMKPoiTagType)poiTagType;
647 @end
648 
650 @protocol BMKMapViewDelegate <NSObject>
651 @optional
652 
655 - (void)mapViewDidFinishLoading:(BMKMapView *)mapView;
656 
660 - (void)mapViewDidRenderValidData:(BMKMapView *)mapView withError:(NSError *)error;
661 
664 - (void)mapViewDidFinishRendering:(BMKMapView *)mapView;
665 
669 - (void)mapView:(BMKMapView *)mapView onDrawMapFrame:(BMKMapStatus *)status;
670 
674 - (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
675 
680 - (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
681 
685 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
686 
691 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
692 
697 - (nullable __kindof BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation;
698 
702 - (void)mapView:(BMKMapView *)mapView didAddAnnotationViews:(NSArray *)views;
703 
708 - (void)mapView:(BMKMapView *)mapView clickAnnotationView:(BMKAnnotationView *)view;
709 
715 - (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;
716 
720 - (void)mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;
721 
727 - (void)mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState
728  fromOldState:(BMKAnnotationViewDragState)oldState;
729 
733 - (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view;
734 
739 - (nullable __kindof BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id <BMKOverlay>)overlay;
740 
744 - (void)mapView:(BMKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
745 
749 - (void)mapView:(BMKMapView *)mapView onClickedBMKOverlayView:(BMKOverlayView *)overlayView;
750 
754 - (void)mapView:(BMKMapView *)mapView onClickedMapPoi:(BMKMapPoi *)mapPoi;
755 
759 - (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;
760 
764 - (void)mapview:(BMKMapView *)mapView onDoubleClick:(CLLocationCoordinate2D)coordinate;
765 
769 - (void)mapview:(BMKMapView *)mapView onLongClick:(CLLocationCoordinate2D)coordinate;
770 
776 - (void)mapview:(BMKMapView *)mapView onForceTouch:(CLLocationCoordinate2D)coordinate force:(CGFloat)force maximumPossibleForce:(CGFloat)maximumPossibleForce;
777 
780 - (void)mapStatusDidChanged:(BMKMapView *)mapView;
781 
786 - (void)mapview:(BMKMapView *)mapView baseIndoorMapWithIn:(BOOL)flag baseIndoorMapInfo:(nullable BMKBaseIndoorMapInfo *)info;
787 
791 - (void)mapView:(BMKMapView *)mapView didChangeUserTrackingMode:(BMKUserTrackingMode)mode;
792 
793 @end
794 NS_ASSUME_NONNULL_END
kBMKPoiTagTypeTravel
@ kBMKPoiTagTypeTravel
旅游出行标签
Definition: BMKMapView.h:82
BMKMapStatus
此类表示地图状态信息
Definition: BMKMapStatus.h:16
BMKAnnotationViewDragState
NSUInteger BMKAnnotationViewDragState
Definition: BMKAnnotationView.h:22
BMKMapPoint3
三维地理坐标点,用空间坐标表示
Definition: BMKTypes.h:201
kBMKPoiTagTypeEpidemic
@ kBMKPoiTagTypeEpidemic
疫情标签
Definition: BMKMapView.h:81
BMKSwitchIndoorFloorNotExist
@ BMKSwitchIndoorFloorNotExist
地图还未聚焦到传入的室内图
Definition: BMKMapView.h:62
BMKMapView(LocationViewAPI)
Definition: BMKMapView.h:478
BMapType.h
BMKMapView
地图View类,使用此View可以显示地图窗口,并且对地图进行相关的操作
Definition: BMKMapView.h:88
BMKAnnotation.h
kBMKPoiTagTypeShop
@ kBMKPoiTagTypeShop
店铺标签
Definition: BMKMapView.h:83
BMKSwitchIndoorFloorFailed
@ BMKSwitchIndoorFloorFailed
切换楼层成功
Definition: BMKMapView.h:60
BMKRegionChangeReasonAPIs
@ BMKRegionChangeReasonAPIs
地图上控件事件,如点击指南针返回2D地图。
Definition: BMKMapView.h:69
BMKRegionChangeReasonEvent
@ BMKRegionChangeReasonEvent
手势触发导致地图区域变化,如双击、拖拽、滑动地图
Definition: BMKMapView.h:68
BMKMapStatus.h
BMKMapView(CustomMapAPI)
Definition: BMKMapView.h:420
BMKRegionChangeReasonGesture
@ BMKRegionChangeReasonGesture
Definition: BMKMapView.h:67
BMKMapPoint
地理坐标点,用直角地理坐标表示
Definition: BMKTypes.h:187
BMKUserTrackingModeHeading
@ BMKUserTrackingModeHeading
普通定位模式
Definition: BMKMapView.h:42
BMKMapView(MapLayerAPI)
Definition: BMKMapView.h:622
BMKCustomMapStyleOption
Definition: BMKCustomMapStyleOption.h:13
BMKMapView(AnnotationAPI)
Definition: BMKMapView.h:498
BMKUserTrackingModeFollowWithHeading
@ BMKUserTrackingModeFollowWithHeading
定位跟随模式
Definition: BMKMapView.h:44
BMKSwitchIndoorFloorError
BMKSwitchIndoorFloorError
枚举:室内图切换楼层结果
Definition: BMKMapView.h:58
BMKRegionChangeReason
BMKRegionChangeReason
枚举:地图区域改变原因
Definition: BMKMapView.h:66
BMKLogoPositionRightTop
@ BMKLogoPositionRightTop
地图右下方
Definition: BMKMapView.h:54
BMKMapPoi::pt
CLLocationCoordinate2D pt
点标注的经纬度坐标
Definition: BMKMapView.h:33
BMKOverlay-p
该类是地图覆盖物的基类,所有地图的覆盖物需要继承自此类
Definition: BMKOverlay.h:17
BMKHeatMap
热力图的绘制数据和显示样式类
Definition: BMKHeatMap.h:35
BMKAnnotation-p
该类为标注点的protocol,提供了标注类的基本信息函数
Definition: BMKAnnotation.h:12
BMKLogoPositionCenterTop
@ BMKLogoPositionCenterTop
地图中下方
Definition: BMKMapView.h:52
BMKBaseIndoorMapInfo
此类表示室内图基础信息
Definition: BMKBaseIndoorMapInfo.h:16
kBMKMapLanguageTypeChinese
@ kBMKMapLanguageTypeChinese
Definition: BMKMapView.h:73
BMKAnnotationView.h
BMKLogoPositionLeftBottom
@ BMKLogoPositionLeftBottom
Definition: BMKMapView.h:49
BMKMapPoi
点击地图标注返回数据结构
Definition: BMKMapView.h:28
BMKLogoPosition
BMKLogoPosition
枚举:logo位置
Definition: BMKMapView.h:48
BMKCoordinateRegion
表示一个经纬度区域
Definition: BMKTypes.h:164
BMKMapPoi::uid
NSString * uid
点标注的uid,可能为空
Definition: BMKMapView.h:36
BMKMapPoi::text
NSString * text
点标注的名称
Definition: BMKMapView.h:30
BMKBaseIndoorMapInfo.h
BMKMapViewDelegate-p
MapView的Delegate,mapView通过此类来通知用户对应的事件
Definition: BMKMapView.h:650
BMKSwitchIndoorFloorSuccess
@ BMKSwitchIndoorFloorSuccess
Definition: BMKMapView.h:59
BMKMapLanguageType
BMKMapLanguageType
Definition: BMKMapView.h:72
BMKMapView(OverlaysAPI)
地图View类(和Overlay操作相关的接口)
Definition: BMKMapView.h:554
BMKCustomMapStyleOption.h
BMKMapView(IndoorMapAPI)
Definition: BMKMapView.h:458
BMKLogoPositionLeftTop
@ BMKLogoPositionLeftTop
地图左下方
Definition: BMKMapView.h:50
BMKMapView(HeatMapAPI)
Definition: BMKMapView.h:602
BMKOverlayView.h
BMKUserTrackingMode
BMKUserTrackingMode
Definition: BMKMapView.h:40
BMKLocationViewDisplayParam.h
BMKMapRect
矩形,用直角地理坐标表示
Definition: BMKTypes.h:231
BMKSwitchIndoorFloorNotFocused
@ BMKSwitchIndoorFloorNotFocused
切换楼层失败
Definition: BMKMapView.h:61
kBMKPoiTagTypeAll
@ kBMKPoiTagTypeAll
显示poi标签 / 屏蔽所有poi标签
Definition: BMKMapView.h:80
BMKUserTrackingModeNone
@ BMKUserTrackingModeNone
Definition: BMKMapView.h:41
BMKLogoPositionRightBottom
@ BMKLogoPositionRightBottom
地图中上方
Definition: BMKMapView.h:53
BMKMapGestureDelegate.h
BMKCoordinateBounds
表示一个经纬度区域
Definition: BMKTypes.h:157
BMKUserTrackingModeFollow
@ BMKUserTrackingModeFollow
定位方向模式
Definition: BMKMapView.h:43
BMKLocationViewDisplayParam
此类表示定位图层自定义样式参数
Definition: BMKLocationViewDisplayParam.h:24
BMKPoiTagType
BMKPoiTagType
用于控制poi标签显示的类别枚举
Definition: BMKMapView.h:79
BMKAnnotationView
Definition: BMKAnnotationView.h:43
BMKLogoPositionCenterBottom
@ BMKLogoPositionCenterBottom
地图左上方
Definition: BMKMapView.h:51
BMKUserLocation
Definition: BMKUserLocation.h:14
BMKOverlayView
该类是地图覆盖物View的基类,提供绘制overlay的接口但本身并无实现,所有地图覆盖物View需要继承自此类
Definition: BMKOverlayView.h:15
kBMKMapLanguageTypeEnglish
@ kBMKMapLanguageTypeEnglish
中文地图
Definition: BMKMapView.h:74
BMKHeatMap.h