BaiduMap_IOSSDK_v5.4.0_Docs
BMKMapView.h
1 /*
2  * BMKMapView.h
3  * BMapKit
4  *
5  * Copyright 2011 Baidu Inc. All rights reserved.
6  *
7  */
8 #import <BaiduMapAPI_Base/BMKBaseComponent.h>
9 #import "BMKAnnotation.h"
10 #import "BMKAnnotationView.h"
11 #import "BMKOverlayView.h"
12 #import "UIKit/UIKit.h"
13 #import "BMKMapStatus.h"
14 #import "BMKLocationViewDisplayParam.h"
15 #import "BMKHeatMap.h"
16 #import "BMKBaseIndoorMapInfo.h"
17 #import "BMKCustomMapStyleOption.h"
18 
19 @protocol BMKMapViewDelegate;
20 
22 @interface BMKMapPoi : NSObject
24 @property (nonatomic,strong) NSString* text;
26 @property (nonatomic,assign) CLLocationCoordinate2D pt;
28 @property (nonatomic,strong) NSString* uid;
29 @end
30 
31 typedef enum {
32  BMKUserTrackingModeNone = 0,
33  BMKUserTrackingModeHeading,
34  BMKUserTrackingModeFollow,
35  BMKUserTrackingModeFollowWithHeading,
36 } BMKUserTrackingMode;
37 
39 typedef enum {
40  BMKLogoPositionLeftBottom = 0,
41  BMKLogoPositionLeftTop,
42  BMKLogoPositionCenterBottom,
43  BMKLogoPositionCenterTop,
44  BMKLogoPositionRightBottom,
45  BMKLogoPositionRightTop,
46 } BMKLogoPosition;
47 
49 typedef enum {
50  BMKSwitchIndoorFloorSuccess = 0,
51  BMKSwitchIndoorFloorFailed,
52  BMKSwitchIndoorFloorNotFocused,
53  BMKSwitchIndoorFloorNotExist,
54 } BMKSwitchIndoorFloorError;
55 
57 typedef enum {
58  BMKRegionChangeReasonGesture = 0,
59  BMKRegionChangeReasonEvent,
60  BMKRegionChangeReasonAPIs,
61 } BMKRegionChangeReason;
62 
64 @interface BMKMapView : UIView
65 
67 @property (nonatomic, weak) id<BMKMapViewDelegate> delegate;
68 
70 @property (nonatomic) BMKMapType mapType;
71 
73 @property (nonatomic) BMKCoordinateRegion region;
74 
76 @property (nonatomic) BMKCoordinateRegion limitMapRegion;
77 
79 @property (nonatomic) CGPoint compassPosition;
81 @property (nonatomic, readonly) CGSize compassSize;
82 
84 @property (nonatomic) CLLocationCoordinate2D centerCoordinate;
85 
87 @property (nonatomic) float zoomLevel;
89 @property (nonatomic) float minZoomLevel;
91 @property (nonatomic) float maxZoomLevel;
92 
94 @property (nonatomic) int rotation;
95 
97 @property (nonatomic) int overlooking;
99 @property (nonatomic) int minOverlooking;
100 
102 @property(nonatomic, getter=isBuildingsEnabled) BOOL buildingsEnabled;
104 @property(nonatomic, assign) BOOL showMapPoi;
106 @property(nonatomic, getter=isTrafficEnabled) BOOL trafficEnabled;
108 @property(nonatomic, getter=isBaiduHeatMapEnabled) BOOL baiduHeatMapEnabled;
109 
111 @property(nonatomic) BOOL gesturesEnabled;
113 @property(nonatomic, getter=isZoomEnabled) BOOL zoomEnabled;
115 @property(nonatomic, getter=isZoomEnabledWithTap) BOOL zoomEnabledWithTap;
117 @property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled;
119 @property(nonatomic, getter=isOverlookEnabled) BOOL overlookEnabled;
121 @property(nonatomic, getter=isRotateEnabled) BOOL rotateEnabled;
122 
124 @property(nonatomic) BOOL forceTouchEnabled;
125 
127 @property (nonatomic) BOOL showMapScaleBar;
128 
130 @property (nonatomic) CGPoint mapScaleBarPosition;
131 
133 @property (nonatomic, readonly) CGSize mapScaleBarSize;
134 
136 @property (nonatomic) BMKLogoPosition logoPosition;
137 
139 @property (nonatomic) BMKMapRect visibleMapRect;
140 
146 @property (nonatomic) UIEdgeInsets mapPadding;
148 @property (nonatomic) BOOL updateTargetScreenPtWhenMapPaddingChanged;
149 
156 @property(nonatomic, getter=isChangeWithTouchPointCenterEnabled) BOOL ChangeWithTouchPointCenterEnabled;
157 
164 @property(nonatomic, getter=isChangeCenterWithDoubleTouchPointEnabled) BOOL ChangeCenterWithDoubleTouchPointEnabled;
165 
171 + (void)customMapStyle:(NSString *)customMapStyleJsonFilePath __deprecated_msg("Please use - (void)setCustomMapStyleEnable:(BOOL)enable");
172 
177 + (void)enableCustomMapStyle:(BOOL)enable __deprecated_msg("Please use - (void)setCustomMapStylePath:(NSString *)customMapStyleJsonFilePath");
178 
185 - (void)setCustomMapStylePath:(NSString *)customMapStyleJsonFilePath;
186 
194 - (void)setCustomMapStylePath:(NSString *)customMapStyleJsonFilePath mode:(int)mode;
195 
202 - (void)setCustomMapStyleEnable:(BOOL)enable;
203 
219 - (void)setCustomMapStyleWithOption:(BMKCustomMapStyleOption *)option
220  preLoad:(void (^)(NSString *path))preLoad
221  success:(void (^)(NSString *path))success
222  failure:(void (^)(NSError *error, NSString *path))failure;
223 
233 - (BOOL)setCustomTrafficColorForSmooth:(UIColor *)smooth slow:(UIColor *)slow congestion:(UIColor *)congestion severeCongestion:(UIColor *)severeCongestion;
234 
240 +(void)willBackGround __deprecated_msg("废弃方法(空实现),逻辑由地图SDK控制");
246 +(void)didForeGround __deprecated_msg("废弃方法(空实现),逻辑由地图SDK控制");
250 -(void)viewWillAppear;
251 
255 -(void)viewWillDisappear;
256 
260 - (void)mapForceRefresh;
261 
266 - (BOOL)zoomIn;
267 
272 - (BOOL)zoomOut;
273 
277 - (BMKCoordinateRegion)regionThatFits:(BMKCoordinateRegion)region __deprecated_msg("此方法已废弃");
278 
284 - (void)setRegion:(BMKCoordinateRegion)region animated:(BOOL)animated;
285 
291 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
292 
297 -(UIImage*) takeSnapshot;
298 
303 -(UIImage*) takeSnapshot:(CGRect)rect;
304 
309 - (void)setCompassImage:(UIImage *)image;
310 
316 - (void)setVisibleMapRect:(BMKMapRect)mapRect animated:(BOOL)animate;
317 
321 - (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect __deprecated_msg("此方法已废弃");
322 
329 - (void)setVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animate;
330 
337 - (void)fitVisibleMapRect:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets withAnimated:(BOOL)animate;
338 
345 - (BMKMapRect)mapRectThatFits:(BMKMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
346 
353 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
354 
361 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
362 
369 - (CGRect)convertRegion:(BMKCoordinateRegion)region toRectToView:(UIView *)view;
370 
377 - (BMKCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view;
378 
385 - (CGRect)convertMapRect:(BMKMapRect)mapRect toRectToView:(UIView *)view;
386 
393 - (BMKMapRect)convertRect:(CGRect)rect toMapRectFromView:(UIView *)view;
394 
400 - (CGPoint)glPointForMapPoint:(BMKMapPoint)mapPoint;
401 
408 - (CGPoint *)glPointsForMapPoints:(BMKMapPoint *)mapPoints count:(NSUInteger)count;
409 
414 - (void)setMapCenterToScreenPt:(CGPoint)ptInScreen;
415 
423 - (BMKMapStatus *)getMapStatusFromCoordinateRegion:(BMKCoordinateRegion)region edgePadding:(UIEdgeInsets)insets;
424 
429 - (BMKMapStatus*)getMapStatus;
430 
435 - (void)setMapStatus:(BMKMapStatus*)mapStatus;
436 
442 - (void)setMapStatus:(BMKMapStatus*)mapStatus withAnimation:(BOOL)bAnimation;
443 
450 - (void)setMapStatus:(BMKMapStatus*)mapStatus withAnimation:(BOOL)bAnimation withAnimationTime:(int)ulDuration;
451 
456 - (BOOL)isSurpportBaiduHeatMap;
457 
464 - (float *)getProjectionMatrix;
465 
472 - (float *)getViewMatrix;
473 
474 @end
475 
476 @interface BMKMapView (IndoorMapAPI)
477 
479 @property (nonatomic, assign) BOOL baseIndoorMapEnabled;
480 
482 @property (nonatomic, assign) BOOL showIndoorMapPoi;
483 
490 - (BMKSwitchIndoorFloorError)switchBaseIndoorMapFloor:(NSString*)strFloor withID:(NSString*)strID;
491 
496 - (BMKBaseIndoorMapInfo*)getFocusedBaseIndoorMapInfo;
497 
498 @end
499 
501 
503 @property (nonatomic) BOOL showsUserLocation;
504 
506 @property (nonatomic) BMKUserTrackingMode userTrackingMode;
507 
509 @property (nonatomic, readonly, getter=isUserLocationVisible) BOOL userLocationVisible;
510 
515 - (void)updateLocationViewWithParam:(BMKLocationViewDisplayParam*)locationViewDisplayParam;
516 
521 -(void)updateLocationData:(BMKUserLocation *)userLocation;
522 @end
523 
525 
527 @property (nonatomic, readonly) NSArray *annotations;
528 
529 //设定是否总让选中的annotaion置于最前面
530 @property (nonatomic, assign) BOOL isSelectedAnnotationViewFront;
531 
536 - (void)addAnnotation:(id <BMKAnnotation>)annotation;
537 
542 - (void)addAnnotations:(NSArray *)annotations;
543 
548 - (void)removeAnnotation:(id <BMKAnnotation>)annotation;
549 
554 - (void)removeAnnotations:(NSArray *)annotations;
555 
561 - (BMKAnnotationView *)viewForAnnotation:(id <BMKAnnotation>)annotation;
562 
568 - (BMKAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
569 
575 - (void)selectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;
576 
582 - (void)deselectAnnotation:(id <BMKAnnotation>)annotation animated:(BOOL)animated;
583 
589 - (void)showAnnotations:(NSArray *)annotations animated:(BOOL)animated;
590 
596 - (NSArray *)annotationsInCoordinateBounds:(BMKCoordinateBounds) bounds;
597 
598 @end
600 @interface BMKMapView (OverlaysAPI)
601 
606 - (void)addOverlay:(id <BMKOverlay>)overlay;
607 
612 - (void)addOverlays:(NSArray *)overlays;
613 
618 - (void)removeOverlay:(id <BMKOverlay>)overlay;
619 
624 - (void)removeOverlays:(NSArray *)overlays;
625 
631 - (void)insertOverlay:(id <BMKOverlay>)overlay atIndex:(NSUInteger)index;
632 
638 - (void)exchangeOverlayAtIndex:(NSUInteger)index1 withOverlayAtIndex:(NSUInteger)index2;
639 
645 - (void)insertOverlay:(id <BMKOverlay>)overlay aboveOverlay:(id <BMKOverlay>)sibling;
646 
652 - (void)insertOverlay:(id <BMKOverlay>)overlay belowOverlay:(id <BMKOverlay>)sibling;
653 
655 @property (nonatomic, readonly) NSArray *overlays;
656 
662 - (BMKOverlayView *)viewForOverlay:(id <BMKOverlay>)overlay;
663 
664 @end
665 @interface BMKMapView (HeatMapAPI)
666 
671 - (void)addHeatMap:(BMKHeatMap*)heatMap;
672 
676 - (void)removeHeatMap;
677 
678 @end
679 
681 @protocol BMKMapViewDelegate <NSObject>
682 @optional
683 
688 - (void)mapViewDidFinishLoading:(BMKMapView *)mapView;
689 
695 - (void)mapViewDidRenderValidData:(BMKMapView *)mapView withError:(NSError *)error;
696 
701 - (void)mapViewDidFinishRendering:(BMKMapView *)mapView;
702 
708 - (void)mapView:(BMKMapView *)mapView onDrawMapFrame:(BMKMapStatus*)status;
709 
715 - (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
716 
723 - (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
724 
730 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
731 
738 - (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
739 
746 - (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation;
747 
753 - (void)mapView:(BMKMapView *)mapView didAddAnnotationViews:(NSArray *)views;
754 
761 - (void)mapView:(BMKMapView *)mapView clickAnnotationView:(BMKAnnotationView *)view;
762 
770 - (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;
771 
777 - (void)mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;
778 
786 - (void)mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState
787  fromOldState:(BMKAnnotationViewDragState)oldState;
788 
794 - (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view;
795 
802 - (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id <BMKOverlay>)overlay;
803 
809 - (void)mapView:(BMKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
810 
816 - (void)mapView:(BMKMapView *)mapView onClickedBMKOverlayView:(BMKOverlayView *)overlayView;
817 
823 - (void)mapView:(BMKMapView *)mapView onClickedMapPoi:(BMKMapPoi*)mapPoi;
824 
830 - (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;
831 
837 - (void)mapview:(BMKMapView *)mapView onDoubleClick:(CLLocationCoordinate2D)coordinate;
838 
844 - (void)mapview:(BMKMapView *)mapView onLongClick:(CLLocationCoordinate2D)coordinate;
845 
853 - (void)mapview:(BMKMapView *)mapView onForceTouch:(CLLocationCoordinate2D)coordinate force:(CGFloat)force maximumPossibleForce:(CGFloat)maximumPossibleForce;
854 
859 - (void)mapStatusDidChanged:(BMKMapView *)mapView;
860 
867 - (void)mapview:(BMKMapView *)mapView baseIndoorMapWithIn:(BOOL)flag baseIndoorMapInfo:(BMKBaseIndoorMapInfo *)info;
868 
869 @end
该类为标注点的protocol,提供了标注类的基本信息函数
Definition: BMKAnnotation.h:13
此类表示地图状态信息
Definition: BMKMapStatus.h:15
该类是地图覆盖物View的基类,提供绘制overlay的接口但本身并无实现,所有地图覆盖物View需要继承自此类
Definition: BMKOverlayView.h:13
该类是地图覆盖物的基类,所有地图的覆盖物需要继承自此类
Definition: BMKOverlay.h:13
矩形,用直角地理坐标表示
Definition: BMKTypes.h:224
此类表示定位图层自定义样式参数
Definition: BMKLocationViewDisplayParam.h:24
NSString * uid
点标注的uid,可能为空
Definition: BMKMapView.h:28
表示一个经纬度区域
Definition: BMKTypes.h:158
Definition: BMKMapView.h:476
热力图的绘制数据和显示样式类
Definition: BMKHeatMap.h:28
点击地图标注返回数据结构
Definition: BMKMapView.h:22
此类表示室内图基础信息
Definition: BMKBaseIndoorMapInfo.h:17
Definition: BMKAnnotationView.h:43
地图View类,使用此View可以显示地图窗口,并且对地图进行相关的操作
Definition: BMKMapView.h:64
MapView的Delegate,mapView通过此类来通知用户对应的事件
Definition: BMKMapView.h:681
Definition: BMKMapView.h:500
地图View类(和Overlay操作相关的接口)
Definition: BMKMapView.h:600
CLLocationCoordinate2D pt
点标注的经纬度坐标
Definition: BMKMapView.h:26
Definition: BMKCustomMapStyleOption.h:11
Definition: BMKMapView.h:665
Definition: BMKUserLocation.h:13
Definition: BMKMapView.h:524
NSString * text
点标注的名称
Definition: BMKMapView.h:24
表示一个经纬度区域
Definition: BMKTypes.h:165
地理坐标点,用直角地理坐标表示
Definition: BMKTypes.h:190