TencentMapSDK_iOS_3D_v6.7.0

构造函数 | 所有成员列表
<QMapViewDelegate>协议 参考

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

`#import <QMapView.h>`

类 <QMapViewDelegate> 继承关系图:

## 构造函数
(void) | - mapViewAuthenticationDidComplete:
| 地图鉴权成功会调用此接口 更多...
(void) | - mapViewAuthentication:didFailWithError:
| 地图鉴权失败后会调用此接口. 更多...
(void) | - mapViewInitComplete:
| 地图初始化完成并且配置文件加载完成后会调用此接口 更多...
(void) | - mapViewFirstRenderDidComplete:
| 地图加载完成后会调用此接口 更多...
(void) | - mapViewStatusChangesCompleted:
| 地图状态变化完成 更多...
(void) | - mapViewDidMoveToCameraRestricted:
| 地图视野移动到限制区域边缘回调 更多...
(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 |
| optional

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

参数

  mapView | 地图View

## ◆ mapUpdateFinished:

- (void) mapUpdateFinished: |  | (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
  view | callout所属的标注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
  mode | QMUserTrackingMode
  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
  overlay | overlay对象. 暂时只支持线(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
  overlay | overlay对象. 暂时只支持线(QPolyline及子类)的点击
  coordinate | 点击到地图上的经纬度坐标.

## ◆ mapView:didTapPoi:

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

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

参数

  mapView | 地图View
  poi | poi数据

## ◆ 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 | 是否动画
  bGesture | region变化是否由手势触发

## ◆ 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 | 错误信息

## ◆ mapViewDidMoveToCameraRestricted:

- (void) mapViewDidMoveToCameraRestricted: |  | (QMapView *) | mapView |
| optional

地图视野移动到限制区域边缘回调

参数

  mapView | 地图View

## ◆ 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

## ◆ mapViewStatusChangesCompleted:

- (void) mapViewStatusChangesCompleted: |  | (QMapView *) | mapView |
| optional

地图状态变化完成

参数

  mapView | 地图View

## ◆ mapViewWillStartLocatingUser:

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

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

参数

  mapView | 地图View

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

- QMapView.h