9 #import <UIKit/UIKit.h> 11 #import "QAnnotation.h" 12 #import "QAnnotationView.h" 13 #import "QOverlayView.h" 14 #import "QBasicMapViewLayer.h" 16 #import "QUserLocationPresentation.h" 17 #import "QTileOverlay.h" 18 #import "QCustomLayer.h" 21 typedef NS_ENUM(NSInteger, QUserTrackingMode)
23 QUserTrackingModeNone = 0,
24 QUserTrackingModeFollow = 1,
25 QUserTrackingModeFollowWithHeading = 2
28 typedef NS_ENUM(NSUInteger, QMapLogoAnchor)
30 QMapLogoAnchorRightBottom = 0,
31 QMapLogoAnchorLeftBottom,
32 QMapLogoAnchorLeftTop,
33 QMapLogoAnchorRightTop,
41 #pragma mark - QMapView 48 #pragma mark - TileOverlay 62 #pragma mark - Resources 69 + (void)loadPrefferedResourceFilesFromDirectory:(NSString *)path DEPRECATED_ATTRIBUTE;
76 @property (nonatomic, weak) id<QMapViewDelegate>
delegate;
81 @property (nonatomic, assign) QMapType mapType;
91 - (void)setStyleType:(QMapStyleType)styleType DEPRECATED_ATTRIBUTE;
98 - (void)setMapStyle:(
int)styleType;
128 - (void)setCompassOffset:(CGPoint)offset;
138 - (void)setForeignLanguage:(QMapLanguage)language;
143 - (void)setCenterOffsetY:(
float)offset DEPRECATED_ATTRIBUTE;
148 - (void)setCenterOffset:(CGPoint)offset;
156 - (void)setCenterOffset:(CGPoint)offset animated:(BOOL)animated;
163 - (void)setLogoOffset:(CGPoint)offset DEPRECATED_ATTRIBUTE;
171 - (void)setLogoMargin:(CGPoint)margin anchor:(QMapLogoAnchor)anchor;
178 - (void)setLogoScale:(CGFloat)scale;
185 - (void)setScaleViewOffset:(CGPoint)offset;
192 - (void)setRoadEventVisible:(BOOL)visible DEPRECATED_ATTRIBUTE;
201 #pragma mark - MapStatus 214 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
237 - (void)setMinZoomLevel:(CGFloat)minZoomLevel maxZoomLevel:(CGFloat)maxZoomLevel;
245 - (void)setZoomLevel:(CGFloat)zoomLevel animated:(BOOL)animated;
258 - (void)setRotation:(CGFloat)rotation animated:(BOOL)animated;
271 - (void)setOverlooking:(CGFloat)overlooking animated:(BOOL)animated;
284 - (void)setVisibleMapRect:(
QMapRect)mapRect animated:(BOOL)animated;
293 - (void)setVisibleMapRect:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
315 - (void)setRegion:(
QCoordinateRegion)region edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
322 - (
QMapRect)mapRectThatFits:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
333 containsCalloutView:(BOOL)bContainsCalloutView
334 annotations:(NSArray<
id<
QAnnotation> >*)annotations
335 edgePadding:(UIEdgeInsets)insets;
343 - (CGFloat)zoomLevelThatFits:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets outCenterCoordinate:(CLLocationCoordinate2D *)outCoordinate;
351 -(void)setLimitMapRect:(
QMapRect)mapRect mode:(QMapLimitRectFitMode)mode;
370 - (CGPoint)glVertexForCoordinate:(CLLocationCoordinate2D)coordinate;
378 #pragma mark - Gesture Control 405 #pragma mark - Coordinate Convert 413 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
421 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
500 - (void)setUserTrackingMode:(QUserTrackingMode)mode animated:(BOOL)animated;
510 - (void)setUserLocationHidden:(BOOL)hidden;
535 - (void)addAnnotation:(
id <
QAnnotation>)annotation;
541 - (void)addAnnotations:(NSArray *)annotations;
547 - (void)removeAnnotation:(
id <
QAnnotation>)annotation;
553 - (void)removeAnnotations:(NSArray *)annotations;
567 - (
QAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
575 - (void)bringAnnotationToFront:(
id <
QAnnotation>)annotation DEPRECATED_ATTRIBUTE;
582 - (void)selectAnnotation:(
id <
QAnnotation>)annotation animated:(BOOL)animated;
589 - (void)deselectAnnotation:(
id <
QAnnotation>)annotation animated:(BOOL)animated;
594 #pragma mark - Overlay 610 - (void)addOverlay:(
id <
QOverlay>)overlay;
616 - (void)addOverlays:(NSArray<
id <
QOverlay>> *)overlays;
622 - (void)removeOverlay:(
id <
QOverlay>)overlay;
628 - (void)removeOverlays:(NSArray<
id <
QOverlay>> *)overlays;
640 #pragma mark - CustomLayer 661 #pragma mark - Snapshot 672 - (UIImage *)takeSnapshot __attribute__ ((deprecated("use - (void)takeSnapshotInRect:(CGRect)rect completion:(
void (^)(UIImage *resultImage))completion instead")));
680 - (void)takeSnapshotInRect:(CGRect)rect completion:(
void (^)(UIImage *resultImage))completion;
689 - (void)takeSnapshotInRect:(CGRect)rect timeout:(CFTimeInterval)timeout completion:(
void (^)(UIImage *resultImage))completion;
693 #pragma mark - QPoiInfo 703 @property (nonatomic, copy) NSString *uid;
708 @property (nonatomic, copy) NSString *name;
713 @property (nonatomic, assign) CLLocationCoordinate2D coordinate;
725 @property (nonatomic, copy) NSString *levelName;
730 @property (nonatomic, copy) NSString *buildingGUID;
735 @property (nonatomic, copy) NSString *buildingName;
748 @property (nonatomic, copy) NSString *source;
753 @property (nonatomic, copy) NSString *eventName;
758 @property (nonatomic, copy) NSString *road;
763 @property (nonatomic, copy) NSString *detail;
768 @property (nonatomic, assign) NSTimeInterval startTime;
773 @property (nonatomic, assign) NSTimeInterval endTime;
778 @property (nonatomic, assign) NSTimeInterval updateTime;
794 #pragma mark - QMapViewDelegate 808 - (void)mapViewInitComplete:(
QMapView *)mapView;
816 - (void)mapViewDidFailLoadingMap:(
QMapView *)mapView withError:(NSError *)error;
824 - (void)mapView:(
QMapView *)mapView regionWillChangeAnimated:(BOOL)animated gesture:(BOOL)bGesture;
830 - (void)mapViewRegionChange:(
QMapView *)mapView;
838 - (void)mapView:(
QMapView *)mapView regionDidChangeAnimated:(BOOL)animated gesture:(BOOL)bGesture;
844 - (void)mapViewDrawFrame:(
QMapView *)mapView;
851 - (void)mapView:(
QMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate;
912 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view didChangeDragState:(QAnnotationViewDragState)newState
913 fromOldState:(QAnnotationViewDragState)oldState;
922 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;
944 - (void)mapView:(
QMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
950 - (void)mapViewWillStartLocatingUser:(
QMapView *)mapView;
956 - (void)mapViewDidStopLocatingUser:(
QMapView *)mapView;
964 - (void)mapView:(
QMapView *)mapView didUpdateUserLocation:(
QUserLocation *)userLocation fromHeading:(BOOL)fromHeading;
970 - (void)mapView:(
QMapView *)mapView didFailToLocateUserWithError:(NSError *)error;
978 - (void)mapView:(
QMapView *)mapView didChangeUserTrackingMode:(QUserTrackingMode)mode animated:(BOOL)animated;
BOOL userLocationVisible
当前位置在地图中是否可见
Definition: QMapView.h:505
BOOL showsUserLocation
开启定位并展示位置图标.
Definition: QMapView.h:456
CGFloat minZoomLevel
最小缩放级别, 默认 minZoomLevel = 3
Definition: QMapView.h:224
点击底图上文字图标的数据信息
Definition: QMapView.h:698
地图view的定位相关的API
Definition: QMapView.h:444
BOOL overlookingEnabled
是否支持俯视. 默认为YES.
Definition: QMapView.h:398
NSString * getDebugError()
地图view的错误信息, 用于定位问题
NSArray< id< QAnnotation > > * selectedAnnotations
当前选中的annotations
Definition: QMapView.h:528
该类是地图覆盖物View的基类, 提供了绘制overlay的接口, 但是没有实际实现。希望不要直接实例化
Definition: QOverlayView.h:16
CGFloat overlooking
Overlooking, 范围 [0, 45], 单位(角度)
Definition: QMapView.h:263
BOOL pausesLocationUpdatesAutomatically
Definition: QMapView.h:487
BOOL allowsBackgroundLocationUpdates
以上是否允许后台定位。ios9以上可用. 请参考CLLocationManager.allowsBackgroundLocationUpdates
Definition: QMapView.h:482
BOOL handDrawMapEnabled
是否开启手绘图,默认为 NO
Definition: QMapView.h:55
用户定位图标自定义样式类
Definition: QUserLocationPresentation.h:15
CGFloat zoomLevel
缩放级别, 范围 [minZoomLevel, maxZoomLevel]
Definition: QMapView.h:219
地图view的错误信息, 用于定位问题
Definition: QMapView.h:785
BOOL showsBuildings
是否显示建筑物,默认为YES
Definition: QMapView.h:108
截图相关API
Definition: QMapView.h:665
该类为标注点的protocol,提供了标注类的基本信息函数
Definition: QAnnotation.h:16
BOOL showsScale
是否显示比例尺,默认为YES
Definition: QMapView.h:103
float * glViewMatrix()
获取当前地图view矩阵
个性化图层相关的API
Definition: QMapView.h:645
BOOL showsCompass
是否显示指南针,默认为NO
Definition: QMapView.h:123
CLLocationDegrees headingFilter
设定最小更新角度。默认为1度,设定为kCLHeadingFilterNone会提示任何角度改变
Definition: QMapView.h:477
NSArray * annotations
当前地图View的已经添加的标注数组
Definition: QMapView.h:523
点击室内图上文字图标的数据信息
Definition: QMapView.h:720
BOOL scrollEnabled
Definition: QMapView.h:393
id< QMapViewDelegate > delegate
地图回调
Definition: QMapView.h:76
QMapRect visibleMapRect
当前地图可见范围的mapRect
Definition: QMapView.h:276
NSArray * overlays
当前mapView中已经添加的Overlay数组
Definition: QMapView.h:604
QUserTrackingMode userTrackingMode
定位用户位置的模式
Definition: QMapView.h:492
annotation数据的内容展示View
Definition: QAnnotationView.h:30
CGFloat maxZoomLevel
最大缩放级别, 默认 maxZoomLevel = 20
Definition: QMapView.h:229
平面投影矩形结构定义
Definition: QGeometry.h:84
CGFloat glPointRatio()
返回每屏幕Point单位对应的OpenGL坐标系下的长度
定义了地图的某一部份的数据结构
Definition: QGeometry.h:30
QBasicMapViewLayer * animationLayer
地图动画Layer. 使用该layer 可以更灵活的组合 {centerCoordinate, zoomLevel, rotation, overlooking} 动画, 并且可以自定义其duratio...
Definition: QMapView.h:199
BOOL keepCenterDuringZoom
pinch时保持中心点, 默认为YES
Definition: QMapView.h:388
地图view的点覆盖物相关的API
Definition: QMapView.h:518
QMapViewDelegate:MapView的Delegate,mapView通过此类来通知用户对应的事件
Definition: QMapView.h:799
用于自定义图层的类
Definition: QCustomLayer.h:16
CGFloat rotation
旋转角度, 正角度向右转, 单位(角度)
Definition: QMapView.h:250
BOOL zoomEnabled
Definition: QMapView.h:383
定位信息类
Definition: QUserLocation.h:15
地图view的线面覆盖物相关的API
Definition: QMapView.h:599
QOverlay:地图覆盖物的基类,所有地图的覆盖物需要继承自此类
Definition: QOverlay.h:15
点击点事件图标的数据信息 可通过 discription 获取快捷点事件简介
Definition: QMapView.h:743
BOOL showsPoi
是否显示底图上的标注及名称,默认为YES
Definition: QMapView.h:118
CLLocationAccuracy desiredAccuracy
设定定位精度。默认为kCLLocationAccuracyBest
Definition: QMapView.h:466
float * glProjectionMatrix()
获取当前地图projection矩阵
BOOL rotateEnabled
是否支持旋转. 默认为YES.
Definition: QMapView.h:403
BOOL shows3DBuildings
是否显示建筑物样式为3D效果,默认为YES
Definition: QMapView.h:113
CLLocationCoordinate2D centerCoordinate
中心点经纬度
Definition: QMapView.h:206
QUserLocation * userLocation
当前位置信息
Definition: QMapView.h:461
QCoordinateRegion region
当前地图的经纬度范围,设定的该范围可能会被调整为适合地图窗口显示的范围
Definition: QMapView.h:298
地图view的核心类
Definition: QMapView.h:46
执行地图动画对应的layer.
Definition: QBasicMapViewLayer.h:36
BOOL showsTraffic
是否开启路况图,默认为 NO
Definition: QMapView.h:60
CLLocationDistance distanceFilter
设定定位的最小更新距离。默认为kCLDistanceFilterNone,会提示任何移动
Definition: QMapView.h:471