QT实现加载百度离线地图

本文介绍了如何在Qt中使用模块加载百度离线地图,并通过webchannel实现Qt与HTML/JavaScript交互。内容包括地图展示、鼠标点击标记、生成轨迹、地图全屏显示及在Widget中显示等。此外,还探讨了后期添加的小车沿路径运动和修改路径点的功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Qt中加载百度地图需要用到网络浏览器,在此采用webEngine模块,然后用webchannel进行qt与HTML/JavaScript的交互。
需求描述:软件加载百度地图,用鼠标在地图上选点,并进行标号,每次加1,最后连成一条路径,为后期工作做准备。

百度地图API应用

  • 采用百度离线地图API2.1版本,网上均可以下载到,然后放到项目debug文件夹下
  • 瓦片地图下载,可以采用全能地图下载器,下载好后放到指定文件夹
  • 复制其中一个demo文件,根据自己需要的功能进行添加
地图展示
var map = new BMap.Map("map_demo",mapOptions);      // 设置街道图为底图
var point = new BMap.Point(120.393751, 36.065743);   // 创建点坐标
map.centerAndZoom(point,13);  // 初始化地图,设置中心点坐标和地图级别
鼠标点击标记加序号

addEventListener("click",function(e))对点击事件进行监听,参数e会返回当前点的地理位置,然后在此处用Marker添加标记,在实现每次标记加1时,因为标记本身是一个图片,因此可以考虑对标记加标签(定义一个全局的i,每点击一次加1),然后调整下位置(为了美观),背景设置为透明,基本就可以实现所要的效果。标签的颜色和背景可以使用Label类下的setStyle方法设置:

label.setStyle({
    
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值