TencentMapSDK_iOS_3D_v6.4.0
载入中...
搜索中...
未找到
<QMapViewDelegate>协议 参考

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

#include <QMapView.h>

类 <QMapViewDelegate> 继承关系图:

实例方法

(void) - mapViewAuthenticationDidComplete:
 地图鉴权成功会调用此接口
 
(void) - mapViewAuthentication:didFailWithError:
 地图鉴权失败后会调用此接口.
 
(void) - mapViewInitComplete:
 地图初始化完成并且配置文件加载完成后会调用此接口
 
(void) - mapViewFirstRenderDidComplete:
 地图加载完成后会调用此接口
 
(void) - mapViewStatusChangesCompleted:
 地图状态变化完成
 
(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) - mapUpdateFinished:
 引擎相机准备完毕,可用来计算坐标的时机
 
(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
optionalrequired

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

参数
mapView地图View

◆ mapUpdateFinished:

- (void) mapUpdateFinished: (QMapView *) mapView
optionalrequired

引擎相机准备完毕,可用来计算坐标的时机

参数
mapView地图View

◆ mapView:annotationView:calloutAccessoryControlTapped:

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

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

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

◆ mapView:annotationView:collidedViewsDidHide:

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

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

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

◆ mapView:annotationView:collidedViewsDidShow:

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

当地图的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 
optionalrequired

拖动annotationView时view的状态变化

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

◆ mapView:annotationViewCalloutTapped:

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

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

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

◆ mapView:customCalloutForAnnotationView:

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

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

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

◆ mapView:didAddAnnotationViews:

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

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

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

◆ mapView:didAddOverlayViews:

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

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

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

◆ mapView:didAnnotationViewTapped:

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

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

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

◆ mapView:didChangeUserTrackingMode:animated:

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

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

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

◆ mapView:didDeselectAnnotationView:

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

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

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

◆ mapView:didFailToLocateUserWithError:

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

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

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

◆ mapView:didMoveAnimated:gesture:

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

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

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

◆ mapView:didSelectAnnotationView:

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

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

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

◆ mapView:didTapAtCoordinate:

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

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

参数
mapView地图View
coordinate坐标

◆ mapView:didTapMarkerOverlayCallout:

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

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

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

◆ mapView:didTapMyLocation:

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

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

参数
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__ 
optionalrequired

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

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

◆ mapView:didTapOverlay:coordinate:

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

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

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

◆ mapView:didTapPoi:

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

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

参数
mapView地图View
poipoi数据

◆ mapView:didUpdateUserLocation:fromHeading:

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

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

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

◆ mapView:didZoomAnimated:gesture:

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

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

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

◆ mapView:gestureDidEnd:

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

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

参数
mapView地图View
gestureType手势类型

@notes 部分手势有此回调

◆ mapView:gestureDidTrigger:

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

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

参数
mapView地图View
gestureType手势类型

◆ mapView:markerOverlay:didChangeDragState:fromOldState:

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

拖动QMarker时状态变化

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

◆ mapView:regionDidChangeAnimated:gesture:

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

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

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

◆ mapView:regionWillChangeAnimated:gesture:

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

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

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

◆ mapView:scaleViewChanged:

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

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

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

◆ mapView:viewForAnnotation:

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

根据anntation生成对应的View

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

◆ mapView:viewForOverlay:

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

根据overlay生成对应的View

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

◆ mapView:willMoveAnimated:gesture:

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

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

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

◆ mapView:willZoomAnimated:gesture:

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

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

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

◆ mapViewAuthentication:didFailWithError:

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

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

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

◆ mapViewAuthenticationDidComplete:

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

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

参数
mapView地图view

◆ mapViewDidFailLoadingMap:withError:

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

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

参数
mapView地图view
error错误信息

◆ mapViewDidStopLocatingUser:

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

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

参数
mapView地图View

◆ mapViewDrawFrame:

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

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

参数
mapView地图View

◆ mapViewFirstRenderDidComplete:

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

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

参数
mapView地图view

◆ mapViewInitComplete:

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

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

参数
mapView地图view

◆ mapViewLogger:logMessage:

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

地图写日志会调用此接口

参数
mapView地图View

◆ mapViewRegionChange:

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

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

参数
mapView地图View

◆ mapViewStatusChangesCompleted:

- (void) mapViewStatusChangesCompleted: (QMapView *) mapView
optionalrequired

地图状态变化完成

参数
mapView地图View

◆ mapViewWillStartLocatingUser:

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

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

参数
mapView地图View

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