9 #import <UIKit/UIKit.h> 10 #import "QFoundation.h" 14 #import "QOverlayView.h" 17 typedef NS_ENUM(NSInteger, QUserTrackingMode)
19 QUserTrackingModeNone = 0,
20 QUserTrackingModeFollow = 1,
21 QUserTrackingModeFollowWithHeading = 2
24 #pragma mark - QMapView 27 @protocol QMapViewDelegate;
32 Q_EXTERN
@interface QMapView : UIView <NSCoding>
37 @property (nonatomic, weak) id <QMapViewDelegate>
delegate;
47 @property (nonatomic, assign, getter = isShowTraffic) BOOL
showTraffic;
52 @property (nonatomic, assign, getter = isScrollEnabled) BOOL
scrollEnabled;
57 @property (nonatomic, assign, getter = isZoomEnabled) BOOL
zoomEnabled;
80 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
92 - (id)initWithFrame:(CGRect)frame;
113 - (void)setVisibleMapRect:(
QMapRect)mapRect animated:(BOOL)animated;
122 - (void)setVisibleMapRect:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
150 - (
QMapRect)mapRectThatFits:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
160 - (void)setDisplayLauguage:(QMapLanguage)language;
162 #pragma mark - ZoomLevel 185 - (void)setZoomLevel:(
double)newZoomLevel animated:(BOOL)animated;
194 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate zoomLevel:(
double)newZoomLevel animated:(BOOL)animated;
204 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
214 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
236 #pragma mark - Annotation 243 - (void)addAnnotation:(
id <QAnnotation>)annotation;
250 - (void)addAnnotations:(NSArray *)annotations;
257 - (void)removeAnnotation:(
id <QAnnotation>)annotation;
264 - (void)removeAnnotations:(NSArray *)annotations;
287 - (NSSet *)annotationsInMapRect:(
QMapRect)mapRect;
301 - (
QAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
314 - (void)selectAnnotation:(
id < QAnnotation >)annotation animated:(BOOL)animated;
322 - (void)deselectAnnotation:(
id < QAnnotation >)annotation animated:(BOOL)animated;
330 - (void)showAnnotations:(NSArray *)annotations animated:(BOOL)animated;
332 #pragma mark - UserLocation 365 - (void)setUserTrackingMode:(QUserTrackingMode)mode animated:(BOOL)animated;
386 - (void)addOverlay:(
id <QOverlay>)overlay;
393 - (void)addOverlays:(NSArray *)overlays;
400 - (void)removeOverlay:(
id <QOverlay>)overlay;
407 - (void)removeOverlays:(NSArray *)overlays;
415 - (void)insertOverlay:(
id <QOverlay>)overlay atIndex:(NSUInteger)index;
423 - (void)exchangeOverlayAtIndex:(NSUInteger)index1 withOverlayAtIndex:(NSUInteger)index2;
431 - (void)insertOverlay:(
id <QOverlay>)overlay aboveOverlay:(
id <QOverlay>)sibling;
439 - (void)insertOverlay:(
id <QOverlay>)overlay belowOverlay:(
id <QOverlay>)sibling;
453 - (
QOverlayView *)viewForOverlay:(
id <QOverlay>)overlay;
471 - (UIImage *)takeSnapshotInRect:(CGRect)rect;
480 - (void)takeSnapshotInRect:(CGRect)rect withCompletionBlock:(
void (^)(UIImage *resultImage, CGRect rect))block;
487 Q_EXTERN
@protocol QMapViewDelegate <NSObject>
497 - (void)mapViewDidFailLoadingMap:(
QMapView *)mapView withError:(NSError *)error;
499 #pragma mark - Region 507 - (void)mapView:(
QMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
515 - (void)mapView:(
QMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
517 #pragma mark - Overlay 535 - (void)mapView:(
QMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
537 #pragma mark - Annotation 554 - (void)mapView:(
QMapView *)mapView didAddAnnotationViews:(NSArray *)views;
590 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;
592 #pragma mark - UserLocation 599 - (void)mapViewWillStartLocatingUser:(
QMapView *)mapView;
606 - (void)mapViewDidStopLocatingUser:(
QMapView *)mapView;
614 - (void)mapView:(
QMapView *)mapView didUpdateUserLocation:(
QUserLocation *)userLocation __attribute__ ((deprecated("use -(
void)mapView:(
QMapView *)mapView didUpdateUserLocation:(
QUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation instead")));
623 - (void)mapView:(
QMapView *)mapView didUpdateUserLocation:(
QUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation;
631 - (void)mapView:(
QMapView *)mapView didFailToLocateUserWithError:(NSError *)error;
640 - (void)mapView:(
QMapView *)mapView didChangeUserTrackingMode:(QUserTrackingMode)mode animated:(BOOL)animated;
QMapView的扩展类
Definition: QMapView.h:379
QAnnotationViewDragState
Definition: QAnnotationView.h:18
QUserLocation * userLocation
当前用户位置数据
Definition: QMapView.h:347
该类是地图覆盖物View的基类, 提供了绘制overlay的接口, 但是没有实际实现。希望不要直接实例化,通常通过子类重写[drawMapRect:zoomScale:inContext:]来绘制内容
Definition: QOverlayView.h:16
BOOL userLocationVisible
当前位置在地图中是否可见
Definition: QMapView.h:370
BOOL showTraffic
是否显示交通, 默认为NO
Definition: QMapView.h:47
QMapView的扩展类
Definition: QMapView.h:462
BOOL showsScale
是否显示比例尺,默认为YES
Definition: QMapView.h:67
BOOL forceUpdatingHeading
是否强制开启heading 更新, 默认为NO.
Definition: QMapView.h:352
CGRect annotationVisibleRect
标注的可见区域
Definition: QMapView.h:292
BOOL keepCenterEnabled
pinch时保持中心点, 默认为NO
Definition: QMapView.h:62
CLLocationDistance distanceFilter
最小移动距离(单位是米), 当大于该值时定位回调才触发, 默认为kCLDistanceFilterNone
Definition: QMapView.h:342
BOOL scrollEnabled
是否支持平移, 默认为YES
Definition: QMapView.h:52
id< QMapViewDelegate > delegate
地图view的delegate
Definition: QMapView.h:37
QMapRect visibleMapRect
当前地图可见范围的mapRect
Definition: QMapView.h:105
double maxZoomLevel
最大缩放级别
Definition: QMapView.h:177
NSArray * selectedAnnotations
处于选中状态的标注数据数据(其count == 0 或 1)
Definition: QMapView.h:306
该类为标注点的view
Definition: QAnnotationView.h:31
平面投影矩形结构定义
Definition: QGeometry.h:90
QUserTrackingMode userTrackingMode
定位用户位置的模式
Definition: QMapView.h:357
定义了地图的某一部份的数据结构
Definition: QGeometry.h:29
BOOL showsUserLocation
是否显示用户位置
Definition: QMapView.h:337
BOOL zoomEnabled
是否支持缩放, 默认为YES
Definition: QMapView.h:57
NSArray * overlays
当前地图上的overlay数组
Definition: QMapView.h:444
定位信息类
Definition: QUserLocation.h:18
QMapType mapType
地图类型
Definition: QMapView.h:42
double zoomLevel
地图缩放级别
Definition: QMapView.h:167
CLLocationCoordinate2D centerCoordinate
当前地图的中心点经纬度坐标,改变该值时,地图缩放级别不会发生变化
Definition: QMapView.h:72
QCoordinateRegion region
当前地图的经纬度范围,设定的该范围可能会被调整为适合地图窗口显示的范围
Definition: QMapView.h:85
地图view
Definition: QMapView.h:32
double minZoomLevel
最小缩放级别
Definition: QMapView.h:172
NSArray * annotations
当前地图上的标注数组
Definition: QMapView.h:269