推广 热搜:     系统  行业  参数  教师  中国  机械  设备  基金 

这篇文章对您解决问题是否有帮助?

   日期:2024-12-06     移动:http://mip.tpjde.com/quote/2848.html

点标记,即Annotation,用于在地图中标记位置,如POI位置、车辆位置等带有位置属性的事物。

这篇文章对您解决问题是否有帮助?

腾讯地图SDK点标记功能分为两个部分,点标记数据对象(Annotation)和点标记的信息窗(CalloutView)。

Annotation和CalloutView提供了默认样式,同时也可以自定义样式。

SDK提供了默认的点标记数据对象(QPointAnnotation)和默认的大头针样式点标注View(QPinAnnotationView),基本使用步骤如下:

  1. 创建点标记数据对象,QPointAnnotation提供了点标记的位置、标题等信息:

    
    
  2. 实现<QMapViewDelegate>协议的方法,创建点标注:

    
    
  3. 效果如下图所示:

腾讯地图SDK可以自定义点标记样式,包括自定义点标记和自定义点标记信息窗口:

如果默认的点标记样式无法满足需求,可以在创建QPinAnnotationView时自定义点标记图标:


效果如图所示:

通过自定义信息窗口,可以展示更多标记点的信息,步骤如下:

自定义信息窗口类,示例代码如下:


在创建Annotation时,指定customCalloutView属性,示例代码如下:



单独添加一个点标记,已经在添加默认样式点标记中介绍了,本小结将介绍如何删除单个点标记、批量添加点标记和批量删除点标记。

  • 删除单个点标记:

    
    
  • 批量添加点标记:

    
    
  • 批量删除点标记

    
    

点标记在添加到地图中时,可以添加动画效果,点标记会添加掉落动画:


通过对点标记进行长按手势,可以将点标记拖动到其他的位置:


点标记默认可以响应点击事件并切换到选中状态,事件响应可以控制开启、关闭。实现<QMapViewDelegate>中的代理方法,可以监听点标记的事件。

  • 点标记的事件响应开关:

    
    
  • 点标注的监听方法

    
    
  • 点标注的拖动状态:QAnnotationViewDragState

    状态 说明 QAnnotationViewDragStateNone 静止状态 QAnnotationViewDragStateStarting 开始拖动 QAnnotationViewDragStateDragging 拖动中 QAnnotationViewDragStateCanceling 取消拖动 QAnnotationViewDragStateEnding 拖动结束

腾讯地图SDK自4.4.1版本起,支持点标记与地图POI元素的碰撞功能,当开启碰撞功能时,与点标记重合的POI元素将会被隐藏,示例代码如下:


示例图如下(左侧为开启碰撞,右侧为关闭碰撞):

  • 调增地图显示范围,使其显示范围内的所有点标记:
    1. 获取构成Annotation、Polyline和多边形的的坐标

    2. 计算这些坐标构成的最小外接region

    3. 更新地图显示region

      
      
    4. 效果如图所示:

  1. 多个点标记距离较近,出现相互覆盖的情况

    AnnotationView提供了zIndex属性,该值默认为0,值大的会覆盖在值小的上面。

  2. 本文地址:http://www.tpjde.com/quote/2848.html    推平第 http://www.tpjde.com/ , 查看更多

特别提示:本信息由相关企业自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关行业动态
推荐行业动态
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2023001713号