QML地图
文章平均质量分 63
喵喵叫的猴
只争朝夕,不负韶华
展开
-
QML地图绘制虚线
QML提供了MapPolyline用于在地图上绘制线段,该线段是实线,因此我使用Canvas自定义绘制的方式在地图上绘制线段, 鼠标在地图上点击后,在点击位置添加图标 ,当有多个图标被添加到地图上后,计算各个图标间的距离,并创建一个新的虚线线段组件,连接两个图标点,显示距离数值。原创 2023-04-19 17:18:41 · 1558 阅读 · 0 评论 -
QML地图Map中使用QPainterPath,并显示任意点经纬度位置
QML地图Map中提供了供绘制图形的组件,例如MapPolyline,MapCircle等,但是这些组件在绘制复杂轨迹时就显得功能不够全面,因此我们将QPainterPath在Map中进行使用并进行绘制,并使用C++和Qml中的函数进行相互调用计算获取点屏幕坐标和经纬度坐标。例子中使用了QPainterPath的QPainterPath::pointAtPercent获取绘制的轨迹全过程中的各个位置的经纬度。原创 2022-11-17 21:49:10 · 2850 阅读 · 0 评论 -
QML 地图修改插件源码(五),Map添加自定义地图类型,并动态修改地图类型
QML的地图Map中提供了属性activeMapType : MapType用于设置当前地图的类型,以OSM地图插件为例,OSM地图提供了多种地图类型,下面介绍如何修改OSM插件的源码添加需要的地图类型,并在Map动态的更换地图类型原创 2022-03-29 21:30:12 · 2408 阅读 · 2 评论 -
QML 地图可拖拽位置标签组件
在地图上显示位置信息时,有时候需要同时显示该位置的详细信息。该组件可在地图上显示一个连接到地图地理位置的标签框,该标签框可点击进行拖拽。在地理位置改变、地图缩放、地图平移时,该标签框的相对位置保持不变。原创 2022-03-01 13:11:55 · 1027 阅读 · 0 评论 -
QML 地图修改插件源码(四),Map根据目录作为索引加载地图瓦片
对地图瓦片目录进行分层,按照存放路径作为索引,即每个地图层的瓦片存放入一个文件夹中,插件根据地图类型和缩放比例进行查找,这样能大大的提高效率。该示例中只是按照地图层数分文件夹,如果更追求效率可按照我的方法在每一个层内再经行细分。示例中的mapType为自定义的地图类型(链接),如不需要在插件中设置地图类型,删除示例中的mapType相关部分即可原创 2022-01-27 12:57:08 · 1758 阅读 · 0 评论 -
QML 地图修改插件源码(三),Map在Plugin中设置加载地图类型
常用的地图种类分为交通图,地形图,卫星图等等,在QML的Map(以OSM地图为例)中提供activeMapType属性用于读取当前显示的地图类型(注意:该属性为只读属性,不能用于赋值),QML中地图的加载寻找根据瓦片的文件名进行查找,例如名为"osm_100-l-5-2-2-3.png"的瓦片,其中5代表了该地图的类型原创 2022-01-27 12:47:06 · 2200 阅读 · 0 评论 -
QML 地图修改插件源码(二)添加新的功能,并编译成dll
QML中的地图模块提供了大量的功能函数供用户使用,使用起来也很顺手,但是如果想在已经提供了功能函数基础上自己新增功能,比如Map提供了添加/删除地图中组件的函数,此时我们想新增一个直接删除当前地图上所有已存在的MapItemView的函数时,就需要修改Map的源码,在源码中新增该函数,如需要修改其他模块的源码,方法类似原创 2021-12-17 13:05:26 · 1306 阅读 · 0 评论 -
Qt/QML离线地图瓦片下载工具(瓦片地图)
QML中加载离线瓦片地图时,就需要将瓦片地图下载到本地,并按照规定的瓦片命名方式进行命名。因此我制作了该瓦片地图下载工具,该工具可选择不同地图类型进行下载。原创 2021-06-13 19:28:11 · 6926 阅读 · 20 评论 -
Qt QML地图上绘制热力图(Qt/QML组件)
Qt QML地图上绘制热力图(Qt/QML组件)QML中使用Map加载地图十分好用,但当需要在地图上可视化的展示区域位置数据的疏密程度时用热力图展示效果就会很好,如果需要在QWidget上绘制热力图,只需要将MapHeatImage继承由QQuickPaintedItem改为继承自QWidget即可使用原创 2021-12-02 22:36:55 · 2193 阅读 · 0 评论 -
QML 地图Map中加载动态路径,使用动画显示运动轨迹
在QML地图中可以显示位置,那么如果有路径的点需要动态的显示其运动轨迹,该如何实现呢?运动点迹可以使用MapItemView加载,使用箭头表示运动的指向,相邻两个位置处的矢量偏移角度可使用Map.azimuthTo()函数计算得到。但是加载的点迹是动态的,因此需要再给箭头它加上动态的效果,动态效果的实现我采用的是间隔显示法,即每个动画周期内根据自定义点间隔显示点,同时隐藏上一周期显示的点。原创 2021-12-09 13:59:58 · 3265 阅读 · 2 评论 -
QML 地图修改插件源码(一)解决Map使用Open Street Map(OSM)无法加载在线地图的解决办法
最近在使用Qml地图中发现,osm地图在线加载地图失败,通过查看osm插件源代码,当osm地图类型为StreetMap时,瓦片获取地址被重定向原创 2021-04-29 14:05:02 · 6926 阅读 · 1 评论 -
QML Map中使用Open Street Map(osm)离线地图(瓦片地图加载方式)
当使用QML Map显示地图时,有时候无法连接互联网,因此需要使用离线模式加载地图,加载离线地图瓦片时,需要为插件设置参数信息,其中name表示参数字段,value表示传入的值,此时将下载好的瓦片地图路径填入value中即可实现离线加载,离线瓦片地图下载工具目前我正在完善功能中,功能完善后会开源供大家参考使用,先放osm地图0-8层全球瓦片地图,直接解压缩就可以使用。原创 2021-05-06 19:26:27 · 6420 阅读 · 12 评论 -
Qt/QML作品展示:在线地图规划
自己做的地图规划软件开源啦!在线加载地图,支持输入经纬度,点击地图获取地理位置,根据位置添加覆盖图,支持地图测距,中心点保存等功能,方便布局规划,适合电商网点布局,覆盖中心规划等场景需求!原创 2020-07-06 23:15:49 · 2447 阅读 · 20 评论 -
QML地图中使用MapItemView
MapItemView用于展示地图控件,数据来源为model(ListModel、RouteModel等)。是不是和ListView很相似,仅仅不同于MapItemView的代理Delegate需要为地图控件,即位置设置为经纬度坐标。ListView的Delegate控件为桌面控件,位置设置为屏幕位置。原创 2020-08-25 12:41:08 · 3945 阅读 · 14 评论 -
QML地图自定义矢量路径图组件
在MapPolyline的基础上制作了MyMapVectorLine,该控件可自定义矢量标志图片样式,并根据存入数据自动计算标志方位朝向,组件颜色和标志可动态设置原创 2021-12-30 14:52:50 · 1501 阅读 · 4 评论