QML地图中使用MapItemView
在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相关推荐
- QML 地图修改插件源码(一)解决Map使用Open Street Map(OSM)无法加载在线地图的解决办法
最近在使用Qml地图中发现,osm地图在线加载地图失败,通过查看osm插件源代码,找到了osm瓦片地图的源地址为:http://c.tile.openstreetmap.org/%z/%x/%y.pn ...
- QML Map中测距——QtLocation轻量级地图应用学习
QML Map中测距 1. 实现思路 2. 实现代码及git链接 本文转载于:QML QtLocation轻量级地图应用学习:实现测距功能 所有的热爱都要不遗余力,真正喜欢它便给它更高的优先级,和更多 ...
- QML 地图修改插件源码(三),Map在Plugin中设置加载地图类型
常用的地图种类分为交通图,地形图,卫星图等等,在QML的Map(以OSM地图为例)中提供activeMapType属性用于读取当前显示的地图类型(注意:该属性为只读属性,不能用于赋值),QML中地图的 ...
- QML地图Map中使用QPainterPath,并显示任意点经纬度位置
QML地图Map中提供了供绘制图形的组件,例如MapPolyline,MapCircle等,但是这些组件在绘制复杂轨迹时就显得功能不够全面,因此我将QPainterPath在Map中进行使用并进行绘制 ...
- QML 地图修改插件源码(四),Map根据目录作为索引加载地图瓦片
QML中的地图(以OSM为例)在使用过程中会发现当地图层数很多时,特别是如果使用离线地图且地图层级较多时地图会变得很卡(在线地图加载的层级数多且不清除缓存时也会卡),原因在于QML地图插件对地图瓦片的 ...
- 高精地图中导航标识识别
高精地图中导航标识识别 思路 主要介绍高精地图导航标识识别上的技术演进,这些技术手段在不同时期服务了高精地图产线需求. 高精地图介绍 当你开车导航的时候,导航地图会向我们推荐一条或几条路线,有些地图甚 ...
- CMRNet++:一种相机在激光雷达构建地图中的定位方案
点云PCL免费知识星球,点云论文速读. 标题:CMRNet++: Map and Camera Agnostic Monocular Visual Localization in LiDAR Maps ...
- 基于激光雷达的里程计及3D点云地图中的定位方法
本文转载自公众号@点云PCL,基于激光雷达的里程计及3D点云地图中的定位方法 :https://mp.weixin.qq.com/s/laA1YAPBCpqlzdGi0yb2cQ 论文:LOL: Li ...
- html版本的网站地图只适合,如何在HTML和XML网站地图中取舍
在慢慢接触建站的日子里,也开始学习分析怎样才能让网站更容易收录,这让我想起来,在当初刚刚开始做网站的时候,总是想把那些漂亮的图片和动画搬到首页上去,自以为那样做,能够让用户进来后感到善心悦目,疏不知, ...
最新文章
- 美多商城之商品(准备商品数据 )、Dockers容器和FastDFS存储
- Nginx-出现-403-Forbidden
- RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储
- IDEA Project Structure 配置说明
- Spring Cloud生态的配置服务器最全对比贴
- jdk7启动时报“java.lang.VerifyError:Expecting a stackmap frame at branch target”
- 根据数据库表gengxin实体类_Python学习第四十八天记录打call:SQLALchemy操作MySQL关系型数据库...
- dbcontext mysql_mysql – ‘DbContextOptionsBuilder’不包含’UseSqlServer’的定义
- c语言ungetc参数,关于一些C语言标准I/O函数的见解。int ungetc(int ch,FILE *fp)函数...
- php robots.txt,robots.txt的写法
- matlab求固有频率,eig()函数求固有频率和有限元软件求固有频率结果不相等
- 抵御物联网DDoS军团
- MyBatis学习总结(17)——Mybatis分页插件PageHelper
- Rust 1.34.1 稳定版发布,Bug 修复
- JAVA程序设计 实验一报告
- html表格基础及案例示图代码。
- obspy中文教程(六)
- js里的一些even事件
- 1.camera硬件接口学习-DVP,MIPI-CSI2,USB
- Gradle下载与安装
热门文章
- java 解析m3u8的实例_m3u8文件完整实例及TS流抓取
- java实现m3u8文件抓取器
- 【系统架构设计师】第一章:操作系统(1.2.2) 信号量与pv操作
- 微型计算机简单并行接口实验心得,实验二简单并行接口.doc
- Oracle 11g 新特性 -- Result Cache(结果高速缓存)
- [QWB2021 Quals]陀那多/托纳多
- model3充电方式_Model3首发评测 篇二:内饰、充电介绍
- 做好淘宝客单页面的几个技巧和方法
- 企业级 Selenium 刷 其他平台 博客访问(学习使用 )
- SpringBoot从入门到精通教程(七):集成Redis