TencentMapSDK_iOS_3D_v4.3.4
<QMapViewDelegate>协议 参考

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

#import <QMapView.h>

类 <QMapViewDelegate> 继承关系图:

构造函数

(void) - mapViewInitComplete:
 地图初始化完成并且配置文件加载完成后会调用此接口 更多...
 
(void) - mapViewDidFailLoadingMap:withError:
 地图数据加载失败时会调用此接口 更多...
 
(void) - mapView:regionWillChangeAnimated:gesture:
 地图区域即将改变时会调用此接口 更多...
 
(void) - mapViewRegionChange:
 地图区域改变时会调用此接口. 视野持续变化时本回调可能会被频繁多次调用, 请不要做耗时或复杂的事情 更多...
 
(void) - mapView:regionDidChangeAnimated:gesture:
 地图区域改变完成后会调用此接口,如果是由手势触发,当触摸结束且地图region改变的动画结束后才会触发此回调 更多...
 
(void) - mapViewDrawFrame:
 地图渲染每一帧过程中都会调用此接口 更多...
 
(void) - mapView:didTapAtCoordinate:
 点击地图空白处会调用此接口. 更多...
 
(void) - mapView:didTapPoi:
 点击地图poi图标处会调用此接口. 更多...
 
(void) - mapView:didTapOverlay:
 点击地图上添加的overlay覆盖物会调用此接口. 更多...
 
(QAnnotationView *) - mapView:viewForAnnotation:
 根据anntation生成对应的View 更多...
 
(UIView *) - mapView:customCalloutForAnnotationView:
 根据anntationView生成对应的CustomCallout (当标注被选中后会调用) 更多...
 
(void) - mapView:didAddAnnotationViews:
 当mapView新添加annotation views时,调用此接口 更多...
 
(void) - mapView:didSelectAnnotationView:
 当选中一个annotation view时,调用此接口 更多...
 
(void) - mapView:didDeselectAnnotationView:
 当取消选中一个annotation 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调用此函数 更多...
 

详细描述

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

函数文档

◆ 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: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: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: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:didTapOverlay:()

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

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

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

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

◆ 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

◆ mapViewInitComplete:()

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

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

参数
mapView地图view

◆ mapViewRegionChange:()

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

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

参数
mapView地图View

◆ mapViewWillStartLocatingUser:()

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

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

参数
mapView地图View

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