BaiduMap_IOSSDK_v6.2.0_Docs  6.2.0
BMKMapView.h
浏览该文件的文档.
1 /*
2  * BMKMapView.h
3  * BMapKit
4  *
5  * Copyright 2011 Baidu Inc. All rights reserved.
6  *
7  */
8 #ifdef USE_NAVI
9 #import <BaiduMapAPI_Base_Navi/BMKBaseComponent.h>
10 #else
11 #import <BaiduMapAPI_Base/BMKBaseComponent.h>
12 #endif
13 #import "BMKAnnotation.h"
14 #import "BMKAnnotationView.h"
15 #import "BMKOverlayView.h"
16 #import "BMKMapStatus.h"
18 #import "BMKHeatMap.h"
19 #import "BMKBaseIndoorMapInfo.h"
21 #import "BMapType.h"
22 @class BMMapControl;
23 @class CompassOverlay;
24 @protocol BMKMapViewDelegate;
25 
27 @interface BMKMapPoi : NSObject
29 @property (nonatomic,strong) NSString* text;
31 @property (nonatomic,assign) CLLocationCoordinate2D pt;
33 @property (nonatomic,strong) NSString* uid;
34 @end
35 
36 typedef enum {
42 
44 typedef enum {
52 
54 typedef enum {
60 
62 typedef enum {
67 
69 @interface BMKMapView : UIView
70 
72 @property (nonatomic, weak) id<BMKMapViewDelegate> delegate;
73 
75 @property (nonatomic) BMKMapType mapType;
76 
78 @property (nonatomic) BMKCoordinateRegion region;
79 
81 @property (nonatomic) BMKCoordinateRegion limitMapRegion;
82 
84 @property (nonatomic) CGPoint compassPosition;
86 @property (nonatomic, readonly) CGSize compassSize;
87 
89 @property (nonatomic) CLLocationCoordinate2D centerCoordinate;
90 
92 @property (nonatomic) float zoomLevel;
94 @property (nonatomic) float minZoomLevel;
96 @property (nonatomic) float maxZoomLevel;
97 
99 @property (nonatomic) int rotation;
100 
102 @property (nonatomic) int overlooking;
104 @property (nonatomic) int minOverlooking;
105 
107 @property(nonatomic, getter=isBuildingsEnabled) BOOL buildingsEnabled;
109 @property(nonatomic, assign) BOOL showMapPoi;
111 @property(nonatomic, getter=isTrafficEnabled) BOOL trafficEnabled;
113 @property(nonatomic, getter=isBaiduHeatMapEnabled) BOOL baiduHeatMapEnabled;
114 
116 @property(nonatomic) BOOL gesturesEnabled;
118 @property(nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
120 @property(nonatomic, getter=isZoomEnabledWithTap) BOOL zoomEnabledWithTap;
122 @property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled;
124 @property(nonatomic, getter=isOverlookEnabled) BOOL overlookEnabled;
126 @property(nonatomic, getter=isRotateEnabled) BOOL rotateEnabled;
127 
129 @property(nonatomic) BOOL forceTouchEnabled;
130 
132 @property (nonatomic) BOOL showMapScaleBar;
133 
135 @property (nonatomic) CGPoint mapScaleBarPosition;
136 
138 @property (nonatomic, readonly) CGSize mapScaleBarSize;
139 
141 @property (nonatomic) BMKLogoPosition logoPosition;
142 
144 @property (nonatomic) BMKMapRect visibleMapRect;
145 
151 @property (nonatomic) UIEdgeInsets mapPadding;
153 @property (nonatomic) BOOL updateTargetScreenPtWhenMapPaddingChanged;
154 
161 @property(nonatomic, getter=isChangeWithTouchPointCenterEnabled) BOOL ChangeWithTouchPointCenterEnabled;
162 
169 @property(nonatomic, getter=isChangeCenterWithDoubleTouchPointEnabled) BOOL ChangeCenterWithDoubleTouchPointEnabled;
170 
176 + (void)customMapStyle:(NSString *)customMapStyleJsonFilePath __deprecated_msg("Please use - (void)setCustomMapStyleEnable:(BOOL)enable");
177 
182 + (void)enableCustomMapStyle:(BOOL)enable __deprecated_msg("Please use - (void)setCustomMapStylePath:(NSString *)customMapStyleFilePath");
183 
190 - (void)setCustomMapStylePath:(NSString *)customMapStyleFilePath;
191 
199 - (void)setCustomMapStylePath:(NSString *)customMapStyleFilePath mode:(int)mode;
200 
207 - (void)setCustomMapStyleEnable:(BOOL)enable;
208 
224 - (void)setCustomMapStyleWithOption:(BMKCustomMapStyleOption *)option
225  preLoad:(void (^)(NSString *path))preLoad
226  success:(void (^)(NSString *path))success
227  failure:(void (^)(NSError *error, NSString *path))failure;
228 
238 - (BOOL)setCustomTrafficColorForSmooth:(UIColor *)smooth slow:(UIColor *)slow congestion:(UIColor *)congestion severeCongestion:(UIColor *)severeCongestion;
239 
245 +(void)willBackGround __deprecated_msg("废弃方法(空实现),逻辑由地图SDK控制");
251 +(void)didForeGround __deprecated_msg("废弃方法(空实现),逻辑由地图SDK控制");
255 -(void)viewWillAppear;
256 
260 -(void)viewWillDisappear;
261 
265 - (void)mapForceRefresh;
266 
271 - (BOOL)zoomIn;
272 
277 - (BOOL)zoomOut;
278 
282 - (BMKCoordinateRegion)regionThatFits:(BMKCoordinateRegion)region __deprecated_msg("此方法已废弃");
283 
289 - (void)setRegion:(BMKCoordinateRegion)region animated:(BOOL)animated;
290 
296 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
297 
302 -(UIImage*) takeSnapshot;
303 
308 -(UIImage*) takeSnapshot:(CGRect)rect;
309 
314 - (void)setCompassImage:(UIImage *)image;
315 
321 - (void)setVisibleMapRect:(BMKMapRect)mapRect animated:(BOOL)animate;
322 
326 - (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect __deprecated_msg("此方法已废弃");
327 
334 - (void)setVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animate;
335 
342 - (void)fitVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets withAnimated:(BOOL)animate;
343 
350 - (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
351 
358 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
359 
366 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
367 
374 - (CGRect)convertRegion:(BMKCoordinateRegion)region toRectToView:(UIView *)view;
375 
382 - (BMKCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view;
383 
390 - (CGRect)convertMapRect:(BMKMapRect)mapRect toRectToView:(UIView *)view;
391 
398 - (BMKMapRect)convertRect:(CGRect)rect toMapRectFromView:(UIView *)view;
399 
405 - (CGPoint)glPointForMapPoint:(BMKMapPoint)mapPoint;
406 
413 - (CGPoint *)glPointsForMapPoints:(BMKMapPoint *)mapPoints count:(NSUInteger)count;
414 
419 - (void)setMapCenterToScreenPt:(CGPoint)ptInScreen;
420 
428 - (BMKMapStatus *)getMapStatusFromCoordinateRegion:(BMKCoordinateRegion)region edgePadding:(UIEdgeInsets)insets;
429 
434 - (BMKMapStatus*)getMapStatus;
435 
440 - (void)setMapStatus:(BMKMapStatus*)mapStatus;
441 
447 - (void)setMapStatus:(BMKMapStatus*)mapStatus withAnimation:(BOOL)bAnimation;
448 
455 - (void)setMapStatus:(BMKMapStatus*)mapStatus withAnimation:(BOOL)bAnimation withAnimationTime:(int)ulDuration;
456 
461 - (BOOL)isSurpportBaiduHeatMap;
462 
469 - (float *)getProjectionMatrix;
470 
477 - (float *)getViewMatrix;
478 
479 @end
480 
482 
484 @property (nonatomic, assign) BOOL baseIndoorMapEnabled;
485 
487 @property (nonatomic, assign) BOOL showIndoorMapPoi;
488 
495 - (BMKSwitchIndoorFloorError)switchBaseIndoorMapFloor:(NSString*)strFloor withID:(NSString*)strID;
496 
501 - (BMKBaseIndoorMapInfo *)getFocusedBaseIndoorMapInfo;
502 
503 @end
504 
506 
508 @property (nonatomic) BOOL showsUserLocation;
509 
511 @property (nonatomic) BMKUserTrackingMode userTrackingMode;
512 
514 @property (nonatomic, readonly, getter=isUserLocationVisible) BOOL userLocationVisible;
515 
520 - (void)updateLocationViewWithParam:(BMKLocationViewDisplayParam*)locationViewDisplayParam;
521 
526 -(void)updateLocationData:(BMKUserLocation *)userLocation;
527 @end
528 
530 
532 @property (nonatomic, readonly) NSArray *annotations;
533 
534 //设定是否总让选中的annotaion置于最前面
535 @property (nonatomic, assign) BOOL isSelectedAnnotationViewFront;
536 
541 - (void)addAnnotation:(id <BMKAnnotation>)annotation;
542 
547 - (void)addAnnotations:(NSArray *)annotations;
548 
553 - (void)removeAnnotation:(id <BMKAnnotation>)annotation;
554 
559 - (void)removeAnnotations:(NSArray *)annotations;
560 
566 - (BMKAnnotationView *)viewForAnnotation:(id <BMKAnnotation>)annotation;
567 
573 - (BMKAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
574 
580 - (void)selectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;
581 
587 - (void)deselectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;
588 
594 - (void)showAnnotations:(NSArray *)annotations animated:(BOOL)animated;
595 
601 - (NSArray *)annotationsInCoordinateBounds:(BMKCoordinateBounds) bounds;
602 
603 @end
606 
611 - (void)addOverlay:(id <BMKOverlay>)overlay;
612 
617 - (void)addOverlays:(NSArray<id <BMKOverlay>> *)overlays;
618 
623 - (void)removeOverlay:(id <BMKOverlay>)overlay;
624 
629 - (void)removeOverlays:(NSArray<id <BMKOverlay>> *)overlays;
630 
636 - (void)insertOverlay:(id <BMKOverlay>)overlay atIndex:(NSUInteger)index;
637 
643 - (void)exchangeOverlayAtIndex:(NSUInteger)index1 withOverlayAtIndex:(NSUInteger)index2;
644 
650 - (void)insertOverlay:(id <BMKOverlay>)overlay aboveOverlay:(id <BMKOverlay>)sibling;
651 
657 - (void)insertOverlay:(id <BMKOverlay>)overlay belowOverlay:(id <BMKOverlay>)sibling;
658 
660 @property (nonatomic, readonly) NSArray *overlays;
661 
667 - (BMKOverlayView *)viewForOverlay:(id <BMKOverlay>)overlay;
668 
669 @end
671 
676 - (void)addHeatMap:(BMKHeatMap*)heatMap;
677 
681 - (void)removeHeatMap;
682 
683 @end
684 
686 @protocol BMKMapViewDelegate <NSObject>
687 @optional
688 
693 - (void)mapViewDidFinishLoading:(BMKMapView *)mapView;
694 
700 - (void)mapViewDidRenderValidData:(BMKMapView *)mapView withError:(NSError *)error;
701 
706 - (void)mapViewDidFinishRendering:(BMKMapView *)mapView;
707 
713 - (void)mapView:(BMKMapView *)mapView onDrawMapFrame:(BMKMapStatus*)status;
714 
720 - (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
721 
728 - (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
729 
735 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
736 
743 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
744 
751 - (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation;
752 
758 - (void)mapView:(BMKMapView *)mapView didAddAnnotationViews:(NSArray *)views;
759 
766 - (void)mapView:(BMKMapView *)mapView clickAnnotationView:(BMKAnnotationView *)view;
767 
775 - (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;
776 
782 - (void)mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;
783 
791 - (void)mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState
792  fromOldState:(BMKAnnotationViewDragState)oldState;
793 
799 - (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view;
800 
807 - (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id <BMKOverlay>)overlay;
808 
814 - (void)mapView:(BMKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
815 
821 - (void)mapView:(BMKMapView *)mapView onClickedBMKOverlayView:(BMKOverlayView *)overlayView;
822 
828 - (void)mapView:(BMKMapView *)mapView onClickedMapPoi:(BMKMapPoi*)mapPoi;
829 
835 - (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;
836 
842 - (void)mapview:(BMKMapView *)mapView onDoubleClick:(CLLocationCoordinate2D)coordinate;
843 
849 - (void)mapview:(BMKMapView *)mapView onLongClick:(CLLocationCoordinate2D)coordinate;
850 
858 - (void)mapview:(BMKMapView *)mapView onForceTouch:(CLLocationCoordinate2D)coordinate force:(CGFloat)force maximumPossibleForce:(CGFloat)maximumPossibleForce;
859 
864 - (void)mapStatusDidChanged:(BMKMapView *)mapView;
865 
872 - (void)mapview:(BMKMapView *)mapView baseIndoorMapWithIn:(BOOL)flag baseIndoorMapInfo:(BMKBaseIndoorMapInfo *)info;
873 
874 @end
NSUInteger BMKAnnotationViewDragState
Definition: BMKAnnotationView.h:22
BMKSwitchIndoorFloorError
枚举:室内图切换楼层结果
Definition: BMKMapView.h:54
@ BMKSwitchIndoorFloorFailed
切换楼层成功
Definition: BMKMapView.h:56
@ BMKSwitchIndoorFloorSuccess
Definition: BMKMapView.h:55
@ BMKSwitchIndoorFloorNotFocused
切换楼层失败
Definition: BMKMapView.h:57
@ BMKSwitchIndoorFloorNotExist
地图还未聚焦到传入的室内图
Definition: BMKMapView.h:58
BMKLogoPosition
枚举:logo位置
Definition: BMKMapView.h:44
@ BMKLogoPositionCenterTop
地图中下方
Definition: BMKMapView.h:48
@ BMKLogoPositionCenterBottom
地图左上方
Definition: BMKMapView.h:47
@ BMKLogoPositionRightTop
地图右下方
Definition: BMKMapView.h:50
@ BMKLogoPositionLeftBottom
Definition: BMKMapView.h:45
@ BMKLogoPositionLeftTop
地图左下方
Definition: BMKMapView.h:46
@ BMKLogoPositionRightBottom
地图中上方
Definition: BMKMapView.h:49
BMKUserTrackingMode
Definition: BMKMapView.h:36
@ BMKUserTrackingModeNone
Definition: BMKMapView.h:37
@ BMKUserTrackingModeFollowWithHeading
定位跟随模式
Definition: BMKMapView.h:40
@ BMKUserTrackingModeFollow
定位方向模式
Definition: BMKMapView.h:39
@ BMKUserTrackingModeHeading
普通定位模式
Definition: BMKMapView.h:38
BMKRegionChangeReason
枚举:地图区域改变原因
Definition: BMKMapView.h:62
@ BMKRegionChangeReasonGesture
Definition: BMKMapView.h:63
@ BMKRegionChangeReasonAPIs
地图上控件事件,如点击指南针返回2D地图。
Definition: BMKMapView.h:65
@ BMKRegionChangeReasonEvent
手势触发导致地图区域变化,如双击、拖拽、滑动地图
Definition: BMKMapView.h:64
Definition: BMKMapView.h:529
Definition: BMKMapView.h:670
Definition: BMKMapView.h:481
Definition: BMKMapView.h:505
地图View类(和Overlay操作相关的接口)
Definition: BMKMapView.h:605
Definition: BMKAnnotationView.h:44
此类表示室内图基础信息
Definition: BMKBaseIndoorMapInfo.h:18
Definition: BMKCustomMapStyleOption.h:12
热力图的绘制数据和显示样式类
Definition: BMKHeatMap.h:33
此类表示定位图层自定义样式参数
Definition: BMKLocationViewDisplayParam.h:24
点击地图标注返回数据结构
Definition: BMKMapView.h:28
CLLocationCoordinate2D pt
点标注的经纬度坐标
Definition: BMKMapView.h:31
NSString * uid
点标注的uid,可能为空
Definition: BMKMapView.h:33
NSString * text
点标注的名称
Definition: BMKMapView.h:29
此类表示地图状态信息
Definition: BMKMapStatus.h:20
地图View类,使用此View可以显示地图窗口,并且对地图进行相关的操作
Definition: BMKMapView.h:70
该类是地图覆盖物View的基类,提供绘制overlay的接口但本身并无实现,所有地图覆盖物View需要继承自此类
Definition: BMKOverlayView.h:14
Definition: BMKUserLocation.h:14
该类为标注点的protocol,提供了标注类的基本信息函数
Definition: BMKAnnotation.h:13
MapView的Delegate,mapView通过此类来通知用户对应的事件
Definition: BMKMapView.h:686
该类是地图覆盖物的基类,所有地图的覆盖物需要继承自此类
Definition: BMKOverlay.h:17
表示一个经纬度区域
Definition: BMKTypes.h:160
表示一个经纬度区域
Definition: BMKTypes.h:167
地理坐标点,用直角地理坐标表示
Definition: BMKTypes.h:192
矩形,用直角地理坐标表示
Definition: BMKTypes.h:226