TencentMapSDK_iOS_3D_v5.7.0
<QMapViewDelegate>协议 参考

QMapViewDelegate:MapView的Delegate,mapView通过此类来通知用户对应的事件 更多...

#import <QMapView.h>

类 <QMapViewDelegate> 继承关系图:

构造函数

(void) - mapViewAuthenticationDidComplete:
 地图鉴权成功会调用此接口 更多...
 
(void) - mapViewAuthentication:didFailWithError:
 地图鉴权失败后会调用此接口. 更多...
 
(void) - mapViewInitComplete:
 地图初始化完成并且配置文件加载完成后会调用此接口 更多...
 
(void) - mapViewFirstRenderDidComplete:
 地图加载完成后会调用此接口 更多...
 
(void) - mapViewDidFailLoadingMap:withError:
 地图数据加载失败时会调用此接口 更多...
 
(void) - mapView:regionWillChangeAnimated:gesture:
 地图区域即将改变时会调用此接口 更多...
 
(void) - mapViewRegionChange:
 地图区域改变时会调用此接口. 视野持续变化时本回调可能会被频繁多次调用, 请不要做耗时或复杂的事情 更多...
 
(void) - mapView:regionDidChangeAnimated:gesture:
 地图区域改变完成后会调用此接口,如果是由手势触发,当触摸结束且地图region改变的动画结束后才会触发此回调 更多...
 
(void) - mapView:willMoveAnimated:gesture:
 地图将要发生中心点移动时调用此回调. 更多...
 
(void) - mapView:didMoveAnimated:gesture:
 地图中心点移动结束后,调用此回调. 更多...
 
(void) - mapView:willZoomAnimated:gesture:
 地图的zoomLevel级别将要发生变化时,调用此回调. 更多...
 
(void) - mapView:didZoomAnimated:gesture:
 地图zoomLevel级别变化结束后,调用此回调. 更多...
 
(void) - mapView:scaleViewChanged:
 地图比例尺变化时调用此接口 更多...
 
(void) - mapView:gestureDidTrigger:
 地图内置手势触发时会触发此回调. 更多...
 
(void) - mapView:gestureDidEnd:
 地图内置手势结束时会触发此回调 更多...
 
(void) - mapViewDrawFrame:
 地图渲染每一帧过程中都会调用此接口 更多...
 
(void) - mapView:didTapAtCoordinate:
 点击地图空白处会调用此接口. 更多...
 
(void) - mapView:didTapPoi:
 点击地图poi图标处会调用此接口. 更多...
 
(void) - mapView:didTapOverlay:
 点击地图上添加的overlay覆盖物会调用此接口. 更多...
 
(void) - mapView:didTapOverlay:coordinate:
 点击地图上添加的overlay覆盖物会调用此接口. 更多...
 
(void) - mapView:didTapMarkerOverlayCallout:
 点击地图上的marker覆盖物的callout会调用此接口 更多...
 
(void) - mapView:markerOverlay:didChangeDragState:fromOldState:
 拖动QMarker时状态变化 更多...
 
(void) - mapView:didTapMyLocation:
 点击地图上的定位标会调用此接口 更多...
 
(QAnnotationView *) - mapView:viewForAnnotation:
 根据anntation生成对应的View 更多...
 
(UIView *) - mapView:customCalloutForAnnotationView:
 根据anntationView生成对应的CustomCallout (当标注被选中后会调用) 更多...
 
(void) - mapView:didAddAnnotationViews:
 当mapView新添加annotation views时,调用此接口 更多...
 
(void) - mapView:didSelectAnnotationView:
 当选中一个annotation view时,调用此接口 更多...
 
(void) - mapView:didAnnotationViewTapped:
 当annotation view时被手势单击后,调用此接口 更多...
 
(void) - mapView:didDeselectAnnotationView:
 当取消选中一个annotation view时,调用此接口 更多...
 
(void) - mapView:annotationView:collidedViewsDidShow:
 当地图的annotationview及其子元素解除碰撞且隐藏的view恢复展示时,调用此接口 更多...
 
(void) - mapView:annotationView:collidedViewsDidHide:
 当地图的annotationview及其子元素发生碰撞且view被隐藏时,调用此接口 更多...
 
(void) - mapView:annotationView:didChangeDragState:fromOldState:
 拖动annotationView时view的状态变化 更多...
 
(void) - mapView:annotationView:calloutAccessoryControlTapped:
 标注view的accessory view(必须继承自UIControl)被点击时,触发该回调 更多...
 
(void) - mapView:annotationViewCalloutTapped:
 当选中一个 callout view时,调用此接口 更多...
 
(QOverlayView *) - mapView:viewForOverlay:
 根据overlay生成对应的View 更多...
 
(void) - mapView:didAddOverlayViews:
 当mapView新添加overlay views时,调用此接口 更多...
 
(void) - mapViewWillStartLocatingUser:
 在地图View将要启动定位时,会调用此函数 更多...
 
(void) - mapViewDidStopLocatingUser:
 在地图View停止定位后,会调用此函数 更多...
 
(void) - mapView:didUpdateUserLocation:fromHeading:
 用户位置更新后,会调用此函数 更多...
 
(void) - mapView:didFailToLocateUserWithError:
 定位失败后,会调用此函数 更多...
 
(void) - mapView:didChangeUserTrackingMode:animated:
 定位时的userTrackingMode 改变时delegate调用此函数 更多...
 
(void) - locationManagerDidChangeAuthorization:
 用户定位权限变更时会调用此接口 更多...
 
(void) - mapViewLogger:logMessage:
 地图写日志会调用此接口 更多...
 

详细描述

QMapViewDelegate:MapView的Delegate,mapView通过此类来通知用户对应的事件

函数文档

◆ locationManagerDidChangeAuthorization:

- (void) locationManagerDidChangeAuthorization: (QMapView *)  mapView
optional

用户定位权限变更时会调用此接口

参数
mapView地图View

◆ mapView:annotationView:calloutAccessoryControlTapped:

- (void) mapView: (QMapView *)  mapView
annotationView: (QAnnotationView *)  view
calloutAccessoryControlTapped: (UIControl *)  control 
optional

标注view的accessory view(必须继承自UIControl)被点击时,触发该回调

参数
mapView地图view
viewcallout所属的标注view
control对应control

◆ mapView:annotationView:collidedViewsDidHide:

- (void) mapView: (QMapView *)  mapView
annotationView: (QAnnotationView *)  view
collidedViewsDidHide: (NSArray< UIView * > *)  hiddenViews 
optional

当地图的annotationview及其子元素发生碰撞且view被隐藏时,调用此接口

参数
mapView地图View
view碰撞发生元素关联QAnnotationView
hiddenViews碰撞后隐藏的view

◆ mapView:annotationView:collidedViewsDidShow:

- (void) mapView: (QMapView *)  mapView
annotationView: (QAnnotationView *)  view
collidedViewsDidShow: (NSArray< UIView * > *)  shownViews 
optional

当地图的annotationview及其子元素解除碰撞且隐藏的view恢复展示时,调用此接口

参数
mapView地图View
view碰撞发生元素关联QAnnotationView
shownViews碰撞后恢复显示的view

◆ mapView:annotationView:didChangeDragState:fromOldState:

- (void) mapView: (QMapView *)  mapView
annotationView: (QAnnotationView *)  view
didChangeDragState: (QAnnotationViewDragState)  newState
fromOldState: (QAnnotationViewDragState)  oldState 
optional

拖动annotationView时view的状态变化

参数
mapView地图view
view目标annotationView
newState新状态
oldState旧状态

◆ mapView:annotationViewCalloutTapped:

- (void) mapView: (QMapView *)  mapView
annotationViewCalloutTapped: (QAnnotationView *)  view 
optional

当选中一个 callout view时,调用此接口

参数
mapView地图View
view选中的 callout view 对应的 annotation view

◆ mapView:customCalloutForAnnotationView:

- (UIView *) mapView: (QMapView *)  mapView
customCalloutForAnnotationView: (QAnnotationView *)  annotationView 
optional

根据anntationView生成对应的CustomCallout (当标注被选中后会调用)

参数
mapView地图View
annotationView指定的标注view
返回
对应的CustomCallout

◆ mapView:didAddAnnotationViews:

- (void) mapView: (QMapView *)  mapView
didAddAnnotationViews: (NSArray< QAnnotationView * > *)  views 
optional

当mapView新添加annotation views时,调用此接口

参数
mapView地图View
views新添加的annotation views

◆ mapView:didAddOverlayViews:

- (void) mapView: (QMapView *)  mapView
didAddOverlayViews: (NSArray *)  overlayViews 
optional

当mapView新添加overlay views时,调用此接口

参数
mapView地图View
overlayViews新添加的overlay views

◆ mapView:didAnnotationViewTapped:

- (void) mapView: (QMapView *)  mapView
didAnnotationViewTapped: (QAnnotationView *)  view 
optional

当annotation view时被手势单击后,调用此接口

参数
mapView地图View
view被单击的annotation view

◆ mapView:didChangeUserTrackingMode:animated:

- (void) mapView: (QMapView *)  mapView
didChangeUserTrackingMode: (QUserTrackingMode)  mode
animated: (BOOL)  animated 
optional

定位时的userTrackingMode 改变时delegate调用此函数

参数
mapView地图View
modeQMUserTrackingMode
animated是否有动画

◆ mapView:didDeselectAnnotationView:

- (void) mapView: (QMapView *)  mapView
didDeselectAnnotationView: (QAnnotationView *)  view 
optional

当取消选中一个annotation view时,调用此接口

参数
mapView地图View
view取消选中的annotation view

◆ mapView:didFailToLocateUserWithError:

- (void) mapView: (QMapView *)  mapView
didFailToLocateUserWithError: (NSError *)  error 
optional

定位失败后,会调用此函数

参数
mapView地图View
error错误号,参考CLError.h中定义的错误号

◆ mapView:didMoveAnimated:gesture:

- (void) mapView: (QMapView *)  mapView
didMoveAnimated: (BOOL)  animated
gesture: (BOOL)  bGesture 
optional

地图中心点移动结束后,调用此回调.

参数
mapView地图View
animated是否动画
bGesture是否由手势触发

◆ mapView:didSelectAnnotationView:

- (void) mapView: (QMapView *)  mapView
didSelectAnnotationView: (QAnnotationView *)  view 
optional

当选中一个annotation view时,调用此接口

参数
mapView地图View
view选中的annotation view

◆ mapView:didTapAtCoordinate:

- (void) mapView: (QMapView *)  mapView
didTapAtCoordinate: (CLLocationCoordinate2D)  coordinate 
optional

点击地图空白处会调用此接口.

参数
mapView地图View
coordinate坐标

◆ mapView:didTapMarkerOverlayCallout:

- (void) mapView: (QMapView *)  mapView
didTapMarkerOverlayCallout: (QMarker *)  markerOverlay 
optional

点击地图上的marker覆盖物的callout会调用此接口

参数
mapView地图View
markerOverlay返回marker覆盖物对象

◆ mapView:didTapMyLocation:

- (void) mapView: (QMapView *)  mapView
didTapMyLocation: (CLLocationCoordinate2D)  location 
optional

点击地图上的定位标会调用此接口

参数
mapView地图View
location返回定位标的经纬度

◆ mapView:didTapOverlay:

- (void) mapView: (QMapView *)  mapView
didTapOverlay: ((deprecated("use -(void)mapView:(QMapView *)mapView didTapOverlay:(id<QOverlay>)overlay coordinate:(CLLocationCoordinate2D)coordinate instead")))  __attribute__ 
optional

点击地图上添加的overlay覆盖物会调用此接口.

参数
mapView地图View
overlayoverlay对象. 暂时只支持线(QPolyline及子类)的点击

◆ mapView:didTapOverlay:coordinate:

- (void) mapView: (QMapView *)  mapView
didTapOverlay: (id< QOverlay >)  overlay
coordinate: (CLLocationCoordinate2D)  coordinate 
optional

点击地图上添加的overlay覆盖物会调用此接口.

注解
- (void)mapView:(QMapView *)mapView didTapOverlay:(id<QOverlay>)overlay 该废弃接口同样会触发.
参数
mapView地图View
overlayoverlay对象. 暂时只支持线(QPolyline及子类)的点击
coordinate点击到地图上的经纬度坐标.

◆ mapView:didTapPoi:

- (void) mapView: (QMapView *)  mapView
didTapPoi: (QPoiInfo *)  poi 
optional

点击地图poi图标处会调用此接口.

参数
mapView地图View
poipoi数据

◆ mapView:didUpdateUserLocation:fromHeading:

- (void) mapView: (QMapView *)  mapView
didUpdateUserLocation: (QUserLocation *)  userLocation
fromHeading: (BOOL)  fromHeading 
optional

用户位置更新后,会调用此函数

参数
mapView地图View
userLocation新的用户位置
fromHeading是否为heading 变化触发,如果为location变化触发,则为NO

◆ mapView:didZoomAnimated:gesture:

- (void) mapView: (QMapView *)  mapView
didZoomAnimated: (BOOL)  animated
gesture: (BOOL)  bGesture 
optional

地图zoomLevel级别变化结束后,调用此回调.

参数
mapView地图View
animated是否动画
bGesture是否由手势触发

◆ mapView:gestureDidEnd:

- (void) mapView: (QMapView *)  mapView
gestureDidEnd: (QGestureType)  gestureType 
optional

地图内置手势结束时会触发此回调

参数
mapView地图View
gestureType手势类型

@notes 部分手势有此回调

◆ mapView:gestureDidTrigger:

- (void) mapView: (QMapView *)  mapView
gestureDidTrigger: (QGestureType)  gestureType 
optional

地图内置手势触发时会触发此回调.

参数
mapView地图View
gestureType手势类型

◆ mapView:markerOverlay:didChangeDragState:fromOldState:

- (void) mapView: (QMapView *)  mapView
markerOverlay: (QMarker *)  markerOverlay
didChangeDragState: (QMarkerViewDragState)  newState
fromOldState: (QMarkerViewDragState)  oldState 
optional

拖动QMarker时状态变化

参数
mapView地图view
markerOverlay目标QMarker
newState新状态
oldState旧状态

◆ mapView:regionDidChangeAnimated:gesture:

- (void) mapView: (QMapView *)  mapView
regionDidChangeAnimated: (BOOL)  animated
gesture: (BOOL)  bGesture 
optional

地图区域改变完成后会调用此接口,如果是由手势触发,当触摸结束且地图region改变的动画结束后才会触发此回调

参数
mapView地图View
animated是否动画
bGestureregion变化是否由手势触发

◆ mapView:regionWillChangeAnimated:gesture:

- (void) mapView: (QMapView *)  mapView
regionWillChangeAnimated: (BOOL)  animated
gesture: (BOOL)  bGesture 
optional

地图区域即将改变时会调用此接口

参数
mapView地图View
animated是否动画
bGesture是否由手势触发

◆ mapView:scaleViewChanged:

- (void) mapView: (QMapView *)  mapView
scaleViewChanged: (CGFloat)  unitLength 
optional

地图比例尺变化时调用此接口

参数
mapView地图view
unitLength当前比例尺的单位长度, 单位:米。

◆ mapView:viewForAnnotation:

- (QAnnotationView *) mapView: (QMapView *)  mapView
viewForAnnotation: (id< QAnnotation >)  annotation 
optional

根据anntation生成对应的View

参数
mapView地图View
annotation指定的标注
返回
生成的标注View

◆ mapView:viewForOverlay:

- (QOverlayView *) mapView: (QMapView *)  mapView
viewForOverlay: (id< QOverlay >)  overlay 
optional

根据overlay生成对应的View

参数
mapView地图View
overlay指定的overlay
返回
生成的覆盖物View

◆ mapView:willMoveAnimated:gesture:

- (void) mapView: (QMapView *)  mapView
willMoveAnimated: (BOOL)  animated
gesture: (BOOL)  bGesture 
optional

地图将要发生中心点移动时调用此回调.

参数
mapView地图View
animated是否动画
bGesture是否由手势触发

◆ mapView:willZoomAnimated:gesture:

- (void) mapView: (QMapView *)  mapView
willZoomAnimated: (BOOL)  animated
gesture: (BOOL)  bGesture 
optional

地图的zoomLevel级别将要发生变化时,调用此回调.

参数
mapView地图View
animated是否动画
bGesture是否由手势触发

◆ mapViewAuthentication:didFailWithError:

- (void) mapViewAuthentication: (QMapView *)  mapView
didFailWithError: (NSError *)  error 
optional

地图鉴权失败后会调用此接口.

参数
mapView地图view
error鉴权失败错误信息. NSURLErrorDomain : 网络链路error问题 QMapAuthenticationErrorDomain: 鉴权服务error 问题.

◆ mapViewAuthenticationDidComplete:

- (void) mapViewAuthenticationDidComplete: (QMapView *)  mapView
optional

地图鉴权成功会调用此接口

参数
mapView地图view

◆ mapViewDidFailLoadingMap:withError:

- (void) mapViewDidFailLoadingMap: (QMapView *)  mapView
withError: (NSError *)  error 
optional

地图数据加载失败时会调用此接口

参数
mapView地图view
error错误信息

◆ mapViewDidStopLocatingUser:

- (void) mapViewDidStopLocatingUser: (QMapView *)  mapView
optional

在地图View停止定位后,会调用此函数

参数
mapView地图View

◆ mapViewDrawFrame:

- (void) mapViewDrawFrame: (QMapView *)  mapView
optional

地图渲染每一帧过程中都会调用此接口

参数
mapView地图View

◆ mapViewFirstRenderDidComplete:

- (void) mapViewFirstRenderDidComplete: (QMapView *)  mapView
optional

地图加载完成后会调用此接口

参数
mapView地图view

◆ mapViewInitComplete:

- (void) mapViewInitComplete: (QMapView *)  mapView
optional

地图初始化完成并且配置文件加载完成后会调用此接口

参数
mapView地图view

◆ mapViewLogger:logMessage:

- (void) mapViewLogger: (QMapView *)  mapView
logMessage: (NSString *)  text 
optional

地图写日志会调用此接口

参数
mapView地图View

◆ mapViewRegionChange:

- (void) mapViewRegionChange: (QMapView *)  mapView
optional

地图区域改变时会调用此接口. 视野持续变化时本回调可能会被频繁多次调用, 请不要做耗时或复杂的事情

参数
mapView地图View

◆ mapViewWillStartLocatingUser:

- (void) mapViewWillStartLocatingUser: (QMapView *)  mapView
optional

在地图View将要启动定位时,会调用此函数

参数
mapView地图View

该协议的文档由以下文件生成: