TencentMapSDK_iOS_3D_v5.7.0
QAnnotationView类 参考

annotation数据的内容展示View 更多...

#import <QAnnotationView.h>

类 QAnnotationView 继承关系图:
QPinAnnotationView

构造函数

(id) - initWithAnnotation:reuseIdentifier:
 初始化并返回一个annotationView 更多...
 
(void) - prepareForReuse
 当从reuse队列里取出时被调用
 
(void) - setSelected:animated:
 设置是否处于选中状态 更多...
 
(void) - setDragState:animated:
 设置当前view拖动状态 更多...
 
(BOOL) - addQAnnotationViewCollisionChild:
 添加碰撞子Marker,添加的元素需遵循QAnnotationViewCollisionDelegate协议 更多...
 
(BOOL) - removeQAnnotationViewCollisionChild:
 移除碰撞子marker,元素需遵循QAnnotationViewCollisionDelegate协议 更多...
 
(void) - updateQAnnotationViewCollisionChild:
 更新子Marker碰撞,元素需遵循QAnnotationViewCollisionDelegate协议 更多...
 
(void) - setQAnnotationViewCollisionMainView:
 设置碰撞主marker的数据来源 更多...
 

属性

NSString * reuseIdentifier
 复用标识
 
id< QAnnotationannotation
 关联的annotation
 
int zIndex
 z值, 决定了AnnotationView之间的压盖顺序: 值大的在上部. 默认为0. 被选中的无视zIndex会被置顶
 
UIImage * image
 显示的image
 
UIImageView * innerImageView
 image 对应的 UIImageView 更多...
 
CGPoint centerOffset
 默认情况下,annotationView的中心位于annotation的坐标位置,可以设置centerOffset改变view的位置,正的偏移使view朝右下方移动,负的朝左上方,单位是像素
 
CGPoint calloutOffset
 默认情况下,弹出的气泡位于view正中上方,可以设置calloutOffset改变view的位置,正的偏移使view朝右下方移动,负的朝左上方,单位是像素
 
QAnnotationViewCollisionType collisionType
 AnnotationView的碰撞类型
 
QAnnotationViewCollisionRelation collisionRelation
 AnnotationView上元素的碰撞关系
 
BOOL enabled
 默认为YES,当为NO时view忽略触摸事件
 
BOOL selected
 是否处于选中状态
 
BOOL canShowCallout
 设置是否可以显示callout,默认为NO
 
UIView * customCalloutView
 自定义callout.
 
UIView * leftCalloutAccessoryView
 气泡左侧的view
 
UIView * rightCalloutAccessoryView
 气泡右侧的view
 
BOOL draggable
 是否支持拖动
 
QAnnotationViewDragState dragState
 当前view拖动状态
 

详细描述

annotation数据的内容展示View

@notes 一旦添加后, 本view的显示和控制将由mapview接管, 用户只可以自定义annotationView自身及其子view内容的显示

函数文档

◆ addQAnnotationViewCollisionChild:

- (BOOL) addQAnnotationViewCollisionChild: (UIView< QAnnotationViewCollisionDelegate > *)  childView

添加碰撞子Marker,添加的元素需遵循QAnnotationViewCollisionDelegate协议

注解
1. QAnnotationView及其子类类型的不能作为子Marker元素添加
  1. 通过接口添加后,若从AnnotationView上移除,需调用removeQAnnotationViewCollisionChild接口,否则碰撞表现异常
  2. 碰撞优先级跟随AnnotationView的zIndex
返回
添加是否成功(添加不遵循QAnnotationViewCollisionDelegate协议的类或QAnnotationView类及其子类会返回失败)

由 category QAnnotationView(Collision) 提供.

◆ initWithAnnotation:reuseIdentifier:

- (id) initWithAnnotation: (id< QAnnotation >)  annotation
reuseIdentifier: (NSString *)  reuseIdentifier 

初始化并返回一个annotationView

参数
annotation关联的annotation对象
reuseIdentifier如果要复用view,传入一个字符串,否则设为nil,建议传入
返回
初始化成功则返回annotationView,否则返回nil

◆ removeQAnnotationViewCollisionChild:

- (BOOL) removeQAnnotationViewCollisionChild: (UIView< QAnnotationViewCollisionDelegate > *)  childView

移除碰撞子marker,元素需遵循QAnnotationViewCollisionDelegate协议

注解
接口调用不会调用removeFromSuperview,只移除碰撞功能
返回
是否成功移除(移除不遵循QAnnotationViewCollisionDelegate协议的类或QAnnotationView类及其子类会返回失败)

由 category QAnnotationView(Collision) 提供.

◆ setDragState:animated:

- (void) setDragState: (QAnnotationViewDragState)  newDragState
animated: (BOOL)  animated 

设置当前view拖动状态

参数
newDragState新拖动状态
animated是否开启动画

◆ setQAnnotationViewCollisionMainView:

- (void) setQAnnotationViewCollisionMainView: (UIView *_Nullable)  mainView

设置碰撞主marker的数据来源

参数
mainView数据来源
注解
1.设置mainView后,该View无法作为子Marker添加
  1. 已添加的子Marker无法设置为mainView
  2. QAnnotationView类无法设置为数据来源
  3. 传入 nil,恢复使用QAnnotationView本身作为主marker的数据来源
  4. 碰撞类型使用QAnnotationView自身
  5. mainView的旋转anchorPoint需和经纬度位置一致,否则碰撞区域不准确

由 category QAnnotationView(Collision) 提供.

◆ setSelected:animated:

- (void) setSelected: (BOOL)  selected
animated: (BOOL)  animated 

设置是否处于选中状态

参数
selected是否选中
animated是否开启动画

◆ updateQAnnotationViewCollisionChild:

- (void) updateQAnnotationViewCollisionChild: (UIView< QAnnotationViewCollisionDelegate > *)  childView

更新子Marker碰撞,元素需遵循QAnnotationViewCollisionDelegate协议

注解
如更新大小,碰撞类型等,需要调用此接口

由 category QAnnotationView(Collision) 提供.

属性说明

◆ innerImageView

- (UIImageView*) innerImageView
readnonatomicstrong

image 对应的 UIImageView

注解
碰撞区域采用innerImageView的大小, 旋转anchorPoint需和经纬度位置一致,否则碰撞区域不准确

该类的文档由以下文件生成: