在QML地图上,我们可以自定义的画圆,画方,画线等等。当我们需要有较多的数据需要在地图上展示时,通过动态新增的方式很明显不利于管理和维护,因此用到MapItemView。

MapItemView用于展示地图控件,数据来源为model(ListModel、RouteModel等)。是不是和ListView很相似,仅仅不同于MapItemView的代理Delegate需要为地图控件,即位置设置为经纬度坐标。ListView的Delegate控件为桌面控件,位置设置为屏幕位置。下面我通过一个简单示例在地图上显示ListModel中存储的位置数据:

我们在Map下添加MapItemView,设置数据源model和代理delegate:

MapItemView{model:airModeldelegate:airDelegate
}

接下来设置model和delegate,我此处的代理使用了一个图片,目的是地图放大缩小时候图片大小不随缩放而变化,使用例如MapCircle等控件也是可以的

ListModel{id: airModel
}
Component{id:airDelegateMapQuickItem{id:airLinewidth: 6height: 6coordinate:QtPositioning.coordinate(location.latitude,location.longitude)sourceItem: Image{sourceSize.height: 6sourceSize.width: 6source: "Img/signal2.png"}anchorPoint.x: 3anchorPoint.y:3}
}

最后一步就是往model中写入数据,如果model中已有数据,此步骤可忽略:

Connections{target: Analyze  //C++中获得数据后发送信号onMonitorChange:{for(var i=0;i<locationList.length;i++){var point = locationList[i]airModel.append({"location":QtPositioning.coordinate(point.x,point.y)})//               if(i==locationList.length-1){//最终目标位置//                   airLine.coordinate = QtPositioning.coordinate(point.x,point.y)//               }}}
}

效果如图:

QML地图中使用MapItemView相关推荐

  1. QML 地图修改插件源码(一)解决Map使用Open Street Map(OSM)无法加载在线地图的解决办法

    最近在使用Qml地图中发现,osm地图在线加载地图失败,通过查看osm插件源代码,找到了osm瓦片地图的源地址为:http://c.tile.openstreetmap.org/%z/%x/%y.pn ...

  2. QML Map中测距——QtLocation轻量级地图应用学习

    QML Map中测距 1. 实现思路 2. 实现代码及git链接 本文转载于:QML QtLocation轻量级地图应用学习:实现测距功能 所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多 ...

  3. QML 地图修改插件源码(三),Map在Plugin中设置加载地图类型

    常用的地图种类分为交通图,地形图,卫星图等等,在QML的Map(以OSM地图为例)中提供activeMapType属性用于读取当前显示的地图类型(注意:该属性为只读属性,不能用于赋值),QML中地图的 ...

  4. QML地图Map中使用QPainterPath,并显示任意点经纬度位置

    QML地图Map中提供了供绘制图形的组件,例如MapPolyline,MapCircle等,但是这些组件在绘制复杂轨迹时就显得功能不够全面,因此我将QPainterPath在Map中进行使用并进行绘制 ...

  5. QML 地图修改插件源码(四),Map根据目录作为索引加载地图瓦片

    QML中的地图(以OSM为例)在使用过程中会发现当地图层数很多时,特别是如果使用离线地图且地图层级较多时地图会变得很卡(在线地图加载的层级数多且不清除缓存时也会卡),原因在于QML地图插件对地图瓦片的 ...

  6. 高精地图中导航标识识别

    高精地图中导航标识识别 思路 主要介绍高精地图导航标识识别上的技术演进,这些技术手段在不同时期服务了高精地图产线需求. 高精地图介绍 当你开车导航的时候,导航地图会向我们推荐一条或几条路线,有些地图甚 ...

  7. CMRNet++:一种相机在激光雷达构建地图中的定位方案

    点云PCL免费知识星球,点云论文速读. 标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps ...

  8. 基于激光雷达的里程计及3D点云地图中的定位方法

    本文转载自公众号@点云PCL,基于激光雷达的里程计及3D点云地图中的定位方法 :https://mp.weixin.qq.com/s/laA1YAPBCpqlzdGi0yb2cQ 论文:LOL: Li ...

  9. html版本的网站地图只适合,如何在HTML和XML网站地图中取舍

    在慢慢接触建站的日子里,也开始学习分析怎样才能让网站更容易收录,这让我想起来,在当初刚刚开始做网站的时候,总是想把那些漂亮的图片和动画搬到首页上去,自以为那样做,能够让用户进来后感到善心悦目,疏不知, ...

最新文章

  1. 美多商城之商品(准备商品数据 )、Dockers容器和FastDFS存储
  2. Nginx-出现-403-Forbidden
  3. RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储
  4. IDEA Project Structure 配置说明
  5. Spring Cloud生态的配置服务器最全对比贴
  6. jdk7启动时报“java.lang.VerifyError:Expecting a stackmap frame at branch target”
  7. 根据数据库表gengxin实体类_Python学习第四十八天记录打call:SQLALchemy操作MySQL关系型数据库...
  8. dbcontext mysql_mysql – ‘DbContextOptionsBuilder’不包含’UseSqlServer’的定义
  9. c语言ungetc参数,关于一些C语言标准I/O函数的见解。int ungetc(int ch,FILE *fp)函数...
  10. php robots.txt,robots.txt的写法
  11. matlab求固有频率,eig()函数求固有频率和有限元软件求固有频率结果不相等
  12. 抵御物联网DDoS军团
  13. MyBatis学习总结(17)——Mybatis分页插件PageHelper
  14. Rust 1.34.1 稳定版发布,Bug 修复
  15. JAVA程序设计 实验一报告
  16. html表格基础及案例示图代码。
  17. obspy中文教程(六)
  18. js里的一些even事件
  19. 1.camera硬件接口学习-DVP,MIPI-CSI2,USB
  20. Gradle下载与安装

热门文章

  1. java 解析m3u8的实例_m3u8文件完整实例及TS流抓取
  2. java实现m3u8文件抓取器
  3. 【系统架构设计师】第一章:操作系统(1.2.2) 信号量与pv操作
  4. 微型计算机简单并行接口实验心得,实验二简单并行接口.doc
  5. Oracle 11g 新特性 -- Result Cache(结果高速缓存)
  6. [QWB2021 Quals]陀那多/托纳多
  7. model3充电方式_Model3首发评测 篇二:内饰、充电介绍
  8. 做好淘宝客单页面的几个技巧和方法
  9. 企业级 Selenium 刷 其他平台 博客访问(学习使用 )
  10. SpringBoot从入门到精通教程(七):集成Redis