千家信息网

Qt怎么添加删除清空重置点

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"Qt怎么添加删除清空重置点",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Qt怎么添加删除清空重置点"吧!一、前言在地图应用的相关项
千家信息网最后更新 2026年11月02日Qt怎么添加删除清空重置点

这篇文章主要讲解了"Qt怎么添加删除清空重置点",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Qt怎么添加删除清空重置点"吧!

一、前言

在地图应用的相关项目中,在地图上标识一些设备点,并对点进行交互这个功能用的最多的,于是需要一套机制可以动态的添加、删除、清空、重置,重置的意思是将地图中的所有点的经纬度重新设置,其实就是先清空然后挨个重新添加所有点的信息,JS的异步交互功能非常强大,直接执行对应的JS函数就可以,没有必要刷新网页,最开始很多年前做的时候还不会JS,那时候想的最糟糕的办法就是写死在代码中,这样每次变动需要重新加载网页,后面发现那真是糟糕的办法,既然有异步刷新的办法为何不用呢,自从学会了JS异步刷新方法以后,索性将各种方法都改成了JS函数,传入对应的参数即可,参数尽可能的考虑到已知的各种各样的情况,方便用户自己添加。

在学习JS语法的时候发现其实程序都大同小异,正所谓一通百通,熟悉各大概的语法以后基本都可以上手,和C++最大的不同就是他没有数据类型的概念,作为解释性的语言,是在执行的时候自动去转换数据类型,工作都交给解释器做掉了,这样就大大方便了程序员,到处var即可,哪怕是数组啊对象啊,万物皆wav,只有当真正赋值的时候,才知道具体的数据类型。

二、功能特点

  1. 同时支持在线地图和离线地图两种模式。

  2. 同时支持webkit内核、webengine内核、IE内核。

  3. 支持设置多个标注点,信息包括名称、地址、经纬度。

  4. 可设置地图是否可单击、拖动、鼠标滚轮缩放。

  5. 可设置协议版本、秘钥、主题样式、中心坐标、中心城市、地理编码位置等。

  6. 可设置地图缩放比例和级别,缩略图、比例尺、路况信息等控件的可见。

  7. 支持地图交互,比如鼠标按下获取对应位置的经纬度。

  8. 支持查询路线,可设置起点位置、终点位置、路线模式、路线方式、路线方案(最少时间、最少换乘、最少步行、不乘地铁、最短距离、避开高速)。

  9. 可显示点线面工具,可直接在地图上划线、点、矩形、圆形等。

  10. 可设置行政区划,指定某个城市区域绘制图层,在线地图自动输出行政区划边界点集合到js文件给离线地图使用。

  11. 可静态或者动态添加多个覆盖物。支持点、折线、多边形、矩形、圆形、弧线、点聚合等。

  12. 函数接口友好和统一,使用简单方便,就一个类。

  13. 支持js动态交互添加点、删除点、清空点、重置点,不需要刷新页面。

  14. 支持任意Qt版本、任意系统、任意编译器。

三、效果图

四、相关代码

void MapBaiDu::addMarker(QStringList &list){    //动态添加点    //name      表示文本文字    //addr      表示地址    //point     表示经纬度坐标    //action    表示单击以后触发什么动作 0-不处理 1-自己弹框 2-发送信号    //animation 表示是否设置动画效果 0-不处理 1-跳动 2-坠落    //iconfile  表示图标文件路径,不设置则采用默认图标,注意图片的尺寸    //iconindex 表示图标对应在图片中的索引    list << QString("  function addMarker(name, addr, point, action, animation, iconfile, iconindex) {");    list << QString("    var list = point.split(',');");    //设置点经纬度坐标    list << QString("    var pot = new BMap.Point(list[0], list[1]);");    //设置文本文字 offset为对应标签显示的位置偏移值    list << QString("    var label = new BMap.Label(name, {\"offset\":new BMap.Size(20, -10)});");    //设置图标,不设置则采用默认图标    list << QString("    if (!iconfile) {");    list << QString("      var marker = new BMap.Marker(pot);");    list << QString("    } else if (iconfile == 'http://lbsyun.baidu.com/jsdemo/img/fox.gif') {");    list << QString("      var icon = new BMap.Icon(iconfile, new BMap.Size(300, 157));");    list << QString("      var marker = new BMap.Marker(pot, {icon: icon});");    list << QString("    } else if (iconfile == 'http://api.map.baidu.com/img/markers.png') {");    list << QString("      var icon = new BMap.Icon(iconfile, new BMap.Size(23, 25), {offset: new BMap.Size(10, 25), imageOffset: new BMap.Size(0, 0 - iconindex * 25)});");    list << QString("      var marker = new BMap.Marker(pot, {icon: icon});");    list << QString("    }");    list << QString("    map.addOverlay(marker);");    list << QString("    marker.setLabel(label);");    list << QString("    addClick(marker, name, addr, action);");    //弹跳效果-BMAP_ANIMATION_BOUNCE 坠落效果-BMAP_ANIMATION_DROP    list << QString("    if (animation == 1) {");    list << QString("      marker.setAnimation(BMAP_ANIMATION_BOUNCE);");    list << QString("    } else if (animation == 2) {");    list << QString("      marker.setAnimation(BMAP_ANIMATION_DROP);");    list << QString("    }");    list << QString("  }");}void MapBaiDu::deleteMarker(QStringList &list){    //动态删除点,如果name为空则删除所有    list << QString("  function deleteMarker(name) {");    list << QString("    var allOverlay = map.getOverlays();");    list << QString("    var len = allOverlay.length;");    list << QString("    for (var i = 0; i < len; i++) {");    list << QString("      if (name.length == 0) {");    list << QString("        map.removeOverlay(allOverlay[i]);");    list << QString("      } else if (allOverlay[i].getLabel().content == name) {");    list << QString("        map.removeOverlay(allOverlay[i]);");    list << QString("        break;");    list << QString("      }");    list << QString("    }");    list << QString("  }");}

感谢各位的阅读,以上就是"Qt怎么添加删除清空重置点"的内容了,经过本文的学习后,相信大家对Qt怎么添加删除清空重置点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

地图 支持 位置 动态 图标 时候 经纬 经纬度 可设 就是 效果 路线 学习 信息 内核 函数 办法 功能 坐标 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 花魁咖啡 互联网科技公司 广州淘业互联网络科技 中关村互联网科技集团 广西互联网科技公司 深圳艾佳互联网科技 佩信高科技互联网 广西拼得多互联网科技有限公司 青岛中康互联网医疗科技有限公司 互联网之后的科技是什么 宁夏众和广鑫互联网科技有限公司 深圳育鹏互联网科技有限公司招聘 中国互联网十大科技股排名 徐州市互联网科技有限公司 互联网第三次科技革命特征 城市宝互联网科技有限公司 福建互联网展示科技馆设计 悟空问答互联网科技 瑞安市蟠桃会互联网科技有限公司 科技互联网企业在行动 银优互联网科技有限公司 长亮科技互联网金融 重庆科技学院互联网 太原新华互联网科技学校怎么样 深圳前海聚择互联网科技有限公司 浙江互联网科技研学营 广州市恰铎互联网科技有限公司 梅州GM互联网络科技有限公司 互联网科技数字货币 互联网企业和网络科技有限公司
0