TencentMapSDK_iOS_3D_v6.8.0

载入中...
搜索中...
未找到
实例方法 | 属性 | 所有成员列表
QAnnotationView类 参考

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

`#include <QAnnotationView.h>`

类 QAnnotationView 继承关系图:

## 实例方法
(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< QAnnotation > | annotation
| 关联的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
| read nonatomic strong

image 对应的 UIImageView

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

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

- QAnnotationView.h