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"
22 #import "QMarkerViewDefines.h"
24 typedef NS_ENUM(NSInteger, QUserTrackingMode)
26 QUserTrackingModeNone = 0,
27 QUserTrackingModeFollow = 1,
28 QUserTrackingModeFollowWithHeading = 2
31 typedef NS_ENUM(NSUInteger, QMapLogoAnchor)
33 QMapLogoAnchorRightBottom = 0,
34 QMapLogoAnchorLeftBottom,
35 QMapLogoAnchorLeftTop,
36 QMapLogoAnchorRightTop,
44 #pragma mark - QMapView
63 #pragma mark - Resources
70 + (void)loadPrefferedResourceFilesFromDirectory:(NSString *)path DEPRECATED_ATTRIBUTE;
77 @property (nonatomic, weak) id<QMapViewDelegate>
delegate;
82 @property (nonatomic, assign) QMapType mapType;
92 - (void)setStyleType:(QMapStyleType)styleType DEPRECATED_ATTRIBUTE;
99 - (void)setMapStyle:(
int)styleType;
146 - (void)setCompassOffset:(CGPoint)offset;
156 - (void)setForeignLanguage:(QMapLanguage)language;
161 - (void)setWorldMapEnable:(BOOL)enable;
166 - (void)setCenterOffsetY:(
float)offset __attribute__ ((deprecated("use - (
void)setCenterOffsetV2:(CGPoint)offset animated:(BOOL)animated instead")));
171 - (void)setCenterOffset:(CGPoint)offset __attribute__ ((deprecated("use - (
void)setCenterOffsetV2:(CGPoint)offset animated:(BOOL)animated instead")));
179 - (void)setCenterOffset:(CGPoint)offset animated:(BOOL)animated __attribute__ ((deprecated("use - (
void)setCenterOffsetV2:(CGPoint)offset animated:(BOOL)animated instead")));
192 - (void)setCenterOffsetV2:(CGPoint)offset animated:(BOOL)animated;
199 - (void)setLogoOffset:(CGPoint)offset DEPRECATED_ATTRIBUTE;
207 - (void)setLogoMargin:(CGPoint)margin anchor:(QMapLogoAnchor)anchor;
214 - (void)setLogoScale:(CGFloat)scale;
232 - (void)setScaleViewOffset:(CGPoint)offset;
248 - (void) setScaleViewFadeEnable:(BOOL)enable;
255 - (void)setRoadEventVisible:(BOOL)visible DEPRECATED_ATTRIBUTE;
262 - (void)setBuildingBlackList:(
QMapRect*)noBuildingList count:(
int)count;
271 #pragma mark - MapStatus
284 - (void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated;
307 - (void)setMinZoomLevel:(CGFloat)minZoomLevel maxZoomLevel:(CGFloat)maxZoomLevel;
315 - (void)setZoomLevel:(CGFloat)zoomLevel animated:(BOOL)animated;
328 - (void)setRotation:(CGFloat)rotation animated:(BOOL)animated;
339 - (void)enableAutoMaxOverlooking:(BOOL)enable;
347 - (void)setOverlooking:(CGFloat)overlooking animated:(BOOL)animated;
360 - (void)setVisibleMapRect:(
QMapRect)mapRect animated:(BOOL)animated;
369 - (void)setVisibleMapRect:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
391 - (void)setRegion:(
QCoordinateRegion)region edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
398 - (
QMapRect)mapRectThatFits:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets;
409 containsCalloutView:(BOOL)bContainsCalloutView
410 annotations:(NSArray<
id<
QAnnotation> >*)annotations
411 edgePadding:(UIEdgeInsets)insets;
419 - (CGFloat)zoomLevelThatFits:(
QMapRect)mapRect edgePadding:(UIEdgeInsets)insets outCenterCoordinate:(CLLocationCoordinate2D *)outCoordinate;
427 -(void)setLimitMapRect:(
QMapRect)mapRect mode:(QMapLimitRectFitMode)mode;
446 - (CGPoint)glVertexForCoordinate:(CLLocationCoordinate2D)coordinate;
465 - (double)metersPerPointAtLatitude:(CLLocationDegrees)latitude zoomLevel:(CGFloat)zoomLevel;
467 #pragma mark - Gesture Control
504 #pragma mark - Coordinate Convert
512 - (CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view;
520 - (CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view;
608 @property(nonatomic, readonly) CLAccuracyAuthorization accuracyAuthorization
API_AVAILABLE(ios(14));
613 @property(nonatomic, readonly) CLAuthorizationStatus authorizationStatus
API_AVAILABLE(ios(14));
626 - (void)setUserTrackingMode:(QUserTrackingMode)mode animated:(BOOL)animated;
636 - (void)setUserLocationHidden:(BOOL)hidden;
641 - (void)setUserLocationCompassHidden:(BOOL)hidden;
646 - (void)setUserLocationNavigationGravitylineHidden:(BOOL)hidden;
652 - (void)requestTempPrecisedLocation:(
QMapView *)mapView purposeKey:(NSString *)key completion:(
void(^)(NSError * error))completion API_AVAILABLE(ios(14));
685 - (void)addAnnotation:(
id <
QAnnotation>)annotation;
691 - (void)addAnnotations:(NSArray *)annotations;
697 - (void)removeAnnotation:(
id <
QAnnotation>)annotation;
703 - (void)removeAnnotations:(NSArray *)annotations;
717 - (
QAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier;
725 - (void)bringAnnotationToFront:(
id <
QAnnotation>)annotation DEPRECATED_ATTRIBUTE;
732 - (void)selectAnnotation:(
id <
QAnnotation>)annotation animated:(BOOL)animated;
739 - (void)deselectAnnotation:(
id <
QAnnotation>)annotation animated:(BOOL)animated;
747 - (void)showAnnotations:(NSArray<
id<
QAnnotation>> *)annotations edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
752 #pragma mark - Overlay
768 - (void)addOverlay:(
id <
QOverlay>)overlay;
774 - (void)addOverlays:(NSArray<
id <
QOverlay>> *)overlays;
780 - (void)removeOverlay:(
id <
QOverlay>)overlay;
786 - (void)removeOverlays:(NSArray<
id <
QOverlay>> *)overlays;
801 - (void)showOverlays:(NSArray<
id<
QOverlay>> *)overlays edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
809 - (void)showQMarkers:(NSArray<
QMarker *> *)markers edgePadding:(UIEdgeInsets)insets animated:(BOOL)animated;
814 #pragma mark - CustomLayer
835 #pragma mark - POILayer
845 - (void)addAOILayer:(
QAOILayer *)layer callback:(
void(^)(BOOL success))callback;
851 - (void)removeAOILayer:(
QAOILayer *)layer;
855 #pragma mark - Snapshot
866 - (UIImage *)takeSnapshot __attribute__ ((deprecated("use - (void)takeSnapshotInRect:(CGRect)rect completion:(
void (^)(UIImage *resultImage))completion instead")));
874 - (void)takeSnapshotInRect:(CGRect)rect completion:(
void (^)(UIImage *resultImage))completion;
883 - (void)takeSnapshotInRect:(CGRect)rect timeout:(CFTimeInterval)timeout completion:(
void (^)(UIImage *resultImage))completion;
893 - (void)takeSnapshotInRect:(CGRect)rect timeout:(CFTimeInterval)timeout afterScreenUpdates:(BOOL)afterUpdates completion:(
void (^)(UIImage *resultImage))completion;
897 #pragma mark - QPoiInfo
907 @property (nonatomic, copy) NSString *uid;
912 @property (nonatomic, copy) NSString *name;
917 @property (nonatomic, assign) CLLocationCoordinate2D coordinate;
929 @property (nonatomic, copy) NSString *levelName;
934 @property (nonatomic, copy) NSString *buildingGUID;
939 @property (nonatomic, copy) NSString *buildingName;
952 @property (nonatomic, copy) NSString *source;
957 @property (nonatomic, copy) NSString *eventName;
962 @property (nonatomic, copy) NSString *road;
967 @property (nonatomic, copy) NSString *detail;
972 @property (nonatomic, assign) NSTimeInterval startTime;
977 @property (nonatomic, assign) NSTimeInterval endTime;
982 @property (nonatomic, assign) NSTimeInterval updateTime;
996 @property (nonatomic, copy) NSString *parentID;
1021 #pragma mark - QMapViewDelegate
1035 - (void)mapViewAuthenticationDidComplete:(
QMapView *)mapView;
1045 - (void)mapViewAuthentication:(
QMapView *)mapView didFailWithError:(NSError *)error;
1052 - (void)mapViewInitComplete:(
QMapView *)mapView;
1059 - (void)mapViewFirstRenderDidComplete:(
QMapView *)mapView;
1067 - (void)mapViewDidFailLoadingMap:(
QMapView *)mapView withError:(NSError *)error;
1075 - (void)mapView:(
QMapView *)mapView regionWillChangeAnimated:(BOOL)animated gesture:(BOOL)bGesture;
1081 - (void)mapViewRegionChange:(
QMapView *)mapView;
1089 - (void)mapView:(
QMapView *)mapView regionDidChangeAnimated:(BOOL)animated gesture:(BOOL)bGesture;
1097 - (void)mapView:(
QMapView *)mapView willMoveAnimated:(BOOL)animated gesture:(BOOL)bGesture;
1105 - (void)mapView:(
QMapView *)mapView didMoveAnimated:(BOOL)animated gesture:(BOOL)bGesture;
1113 - (void)mapView:(
QMapView *)mapView willZoomAnimated:(BOOL)animated gesture:(BOOL)bGesture;
1121 - (void)mapView:(
QMapView *)mapView didZoomAnimated:(BOOL)animated gesture:(BOOL)bGesture;
1129 - (void)mapView:(
QMapView *)mapView scaleViewChanged:(CGFloat)unitLength;
1136 - (void)mapView:(
QMapView *)mapView gestureDidTrigger:(QGestureType)gestureType;
1145 - (void)mapView:(
QMapView *)mapView gestureDidEnd:(QGestureType)gestureType;
1151 - (void)mapViewDrawFrame:(
QMapView *)mapView;
1158 - (void)mapView:(
QMapView *)mapView didTapAtCoordinate:(CLLocationCoordinate2D)coordinate;
1172 - (void)mapView:(
QMapView *)mapView didTapOverlay:(
id<
QOverlay>)overlay __attribute__ ((deprecated("use - (
void)mapView:(
QMapView *)mapView didTapOverlay:(
id<
QOverlay>)overlay coordinate:(CLLocationCoordinate2D)coordinate instead")));
1182 - (void)mapView:(
QMapView *)mapView didTapOverlay:(
id<
QOverlay>)overlay coordinate:(CLLocationCoordinate2D)coordinate;
1189 - (void)mapView:(
QMapView *)mapView didTapMarkerOverlayCallout:(
QMarker *)markerOverlay;
1199 - (void)mapView:(
QMapView *)mapView markerOverlay:(
QMarker *)markerOverlay didChangeDragState:(QMarkerViewDragState)newState
1200 fromOldState:(QMarkerViewDragState)oldState;
1207 - (void)mapView:(
QMapView *)mapView didTapMyLocation:(CLLocationCoordinate2D)location;
1259 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view collidedViewsDidShow:(NSArray <UIView *> *)shownViews;
1267 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view collidedViewsDidHide:(NSArray <UIView *> *)hiddenViews;
1277 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view didChangeDragState:(QAnnotationViewDragState)newState
1278 fromOldState:(QAnnotationViewDragState)oldState;
1287 - (void)mapView:(
QMapView *)mapView annotationView:(
QAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control;
1309 - (void)mapView:(
QMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
1315 - (void)mapViewWillStartLocatingUser:(
QMapView *)mapView;
1321 - (void)mapViewDidStopLocatingUser:(
QMapView *)mapView;
1329 - (void)mapView:(
QMapView *)mapView didUpdateUserLocation:(
QUserLocation *)userLocation fromHeading:(BOOL)fromHeading;
1335 - (void)mapView:(
QMapView *)mapView didFailToLocateUserWithError:(NSError *)error;
1343 - (void)mapView:(
QMapView *)mapView didChangeUserTrackingMode:(QUserTrackingMode)mode animated:(BOOL)animated;
1349 - (void)locationManagerDidChangeAuthorization:(
QMapView *)mapView;
1355 - (void)mapViewLogger:(
QMapView *)mapView logMessage:(NSString *)text;