随笔分类 -  Qt/C++地图综合应用

摘要:一、前言 用Qt做项目过程中,遇到需要用到浏览器控件的项目,可能都会绕不开一个问题,那就是从Qt5.6版本开始mingw编译器的Qt构建套件,不再提供浏览器控件了,之前还可以用webkit控件,这下很多项目要么选择5.6以下版本,要么选择msvc的构建套件,而且大部分的msvc构建套件还不自带浏览器 阅读全文
posted @ 2021-01-21 09:32 飞扬青云 阅读(1058) 评论(0) 推荐(0) 编辑
摘要:一、前言 地图项目应用中,标注点的交互使用频率非常高,这应该是最常用的场景,比如从数据库中读取出来设备的信息包括经纬度坐标,然后需要在地图上显示对应的设备,这就需要用addMarker函数来动态添加标注点,关于封装的这个函数,陆陆续续经历过好多年的完善,很奇怪为啥这么简单的功能还需要完善,其实这也是 阅读全文
posted @ 2021-01-20 09:58 飞扬青云 阅读(563) 评论(0) 推荐(0) 编辑
摘要:一、前言 上一篇文章写道拿到路径规划的轨迹点坐标集合,并且已经可以通过调用addPolyline绘制线段的形式将轨迹点绘制,接下来就是要如何动态的绘制这些轨迹点,最简单的方法就是开个定时器挨个取出下一个经纬度坐标,然后调用封装好的moveMarker函数将经纬度坐标传过去,异步交互使得标注点在移动, 阅读全文
posted @ 2021-01-18 15:24 飞扬青云 阅读(1836) 评论(0) 推荐(0) 编辑
摘要:一、前言 近期重新将这个地图综合应用进行大幅度的改进更新升级,包括使用示例也做了非常多的改进和调整,其中就包括路径规划功能,之前只是调用了百度地图的JS交互接口,根据起始点坐标经纬度和结束点坐标经纬度,查询出合适的路线,而并木有将查询到的路径的轨迹点坐标集合取出来,用于其他处理比如发给机器人,让机器 阅读全文
posted @ 2021-01-17 14:42 飞扬青云 阅读(780) 评论(0) 推荐(0) 编辑
摘要:一、前言 本人写Qt程序这么多年,比较喜欢支持多个Qt版本,尤其是钟情于支持任意Qt版本+任意系统+任意编译器,这句话说起来简单其实实现起来就不容易了,首先你得有个很多版本的测试环境,起码十几个Qt环境要的吧,四五种操作系统要的吧,还要安装各种VS版本免不了的,毕竟win上除了默认的mingw编译器 阅读全文
posted @ 2020-04-23 09:07 飞扬青云 阅读(552) 评论(0) 推荐(0) 编辑
摘要:一、前言 国内提供地图服务的厂家基本上是五家,百度地图、高德地图、腾讯地图、搜狗地图、天地图,国外的一般还有谷歌地图、微软地图(BING地图),这几家的地图服务的api接口都大同小异,甚至很多函数的名字都一模一样,毕竟叫的很通俗,这样也很容易理解,除了引入的地图服务JS文件不同,对象名称不同,其他大 阅读全文
posted @ 2020-04-22 13:26 飞扬青云 阅读(868) 评论(0) 推荐(0) 编辑
摘要:一、前言 除了传统的街道图地图外,默认的一般都是街道图,还有卫星图、三维图等,其中又有叠加层,比如叠加路况图层和路网图层等,最近去了多家的地图官网看对应的api接口,总体上感觉现在都往2.5D或者3D这块发展,估计这也是未来的一个大趋势,记得有个长辈程序员,花了很多年专门研究opengl之类的玩意, 阅读全文
posted @ 2020-04-21 10:16 飞扬青云 阅读(1918) 评论(1) 推荐(0) 编辑
摘要:一、前言 地址和经纬度互相转换的功能也经常用到,比如上次的路线方案查询的功能,之前官网是提供了直接输入出发地点和目的地的中文汉字,就可以查询到最优的路线,后面只支持输入出发地点和目的地的经纬度坐标了,这个就有点绕了,让用户输入什么经纬度坐标,那是个什么鬼?没有几个用户搞得懂的,所以就需要先将用户输入 阅读全文
posted @ 2020-04-20 11:32 飞扬青云 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:一、前言 之前做获取边界点的时候,主要采用的是在线地图的方式,因为在线地图中直接内置了函数可以根据行政区域的名称来自动获取边界,其实这些边界就是一些点坐标集合连接起来的平滑线,然后形成的轮廓图,这种方式有个弊端就是只能在线的时候使用,而我们大部分的应用场景应该是离线的,甚至很多设备永远是离线的,根本 阅读全文
posted @ 2020-04-19 13:45 飞扬青云 阅读(687) 评论(0) 推荐(1) 编辑
摘要:一、前言 在地图应用的相关项目中,在地图上标识一些设备点,并对点进行交互这个功能用的最多的,于是需要一套机制可以动态的添加、删除、清空、重置,重置的意思是将地图中的所有点的经纬度重新设置,其实就是先清空然后挨个重新添加所有点的信息,JS的异步交互功能非常强大,直接执行对应的JS函数就可以,没有必要刷 阅读全文
posted @ 2020-04-18 09:51 飞扬青云 阅读(400) 评论(1) 推荐(0) 编辑
摘要:一、前言 网上其实有很多各种各样的离线地图下载器,大部分都是要收费的,免费的要么是限制了下载的瓦片数量或者级别,要么是下载的瓦片图打上了水印,看起来很难看,由于经常需要用到离线地图,摆脱这个限制,特意花了点时间重新研究了瓦片地图的原理,做了个离线地图下载器,其实瓦片地图下载没有那么复杂,其实就是从开 阅读全文
posted @ 2020-04-17 08:51 飞扬青云 阅读(1883) 评论(0) 推荐(0) 编辑
摘要:一、前言 获取边界点一般和行政区划搭配起来使用,比如用户输入一个省市的名称,然后自动定位到该省市,然后对该轮廓获取所有边界点集合输出到js文件,最后供离线使用,获取边界点还有一个功能就是获取当前区域内的左下角右上角等经纬度坐标,这个主要是供离线地图下载使用的,百度地图很好的提供了bdary.get( 阅读全文
posted @ 2020-04-16 09:24 飞扬青云 阅读(484) 评论(0) 推荐(0) 编辑
摘要:一、前言 路线查询的功能只有在线地图才有,因为这个路线规划需要经常更新的,这个数据同步需要大量的人力物力去统计,所以这玩意必须放在服务器端,就算是类似于手机端一样的放在本地离线,也需要隔一段时间更新的,不然数据很可能不正确。路线查询也叫出行规划,基本上分成两大类,一种是开车的一种是不开车的,其中开车 阅读全文
posted @ 2020-04-15 09:18 飞扬青云 阅读(622) 评论(0) 推荐(0) 编辑
摘要:一、前言 在添加设备点或者区域形状的时候,会考虑是直接静态的方式写入到网页中加载,还是动态js函数异步加载的方式,这个需要根据现场的实际需求来,如果只需要一次加载的话建议静态即可,如果运行期间还需要动态添加的话就采用动态的js函数交互的方法,绝大部分场景都是动态添加,毕竟这个是异步执行的,而且比较灵 阅读全文
posted @ 2020-04-14 09:18 飞扬青云 阅读(664) 评论(0) 推荐(0) 编辑
摘要:一、前言 点聚合在地图相关应用中比较常用,比如在地图上查询结果通常以标记点的形式展现,但是如果标记点较多,不仅会大大增加客户端的渲染时间,让客户端变得很卡,而且会让人产生密集恐惧症,密密麻麻的一大堆点挤在一起。为了解决这一问题,我们需要一种手段能在用户有限的可视区域范围内,利用最小的区域展示出最全面 阅读全文
posted @ 2020-04-13 09:15 飞扬青云 阅读(432) 评论(0) 推荐(0) 编辑
摘要:一、前言 行政区划在地图应用中非常有用,行政区划是行政区域划分的简称,是国家为了进行分级管理而实行的区域划分,百度地图提供的内置的函数类支持传入行政区划的名称来获取对应的边界点集合,然后根据该集合来绘制点集合,最后将该点集合封闭连起来,就形成了行政区划的轮廓图了,使用下来发现地图本身提供的函数可以支 阅读全文
posted @ 2020-04-12 10:37 飞扬青云 阅读(372) 评论(0) 推荐(0) 编辑
摘要:一、前言 最常用的地图交互就几个,比如鼠标在地图上按下的时候可以拾取经纬度坐标,然后传给Qt程序,再比如对设置的设备点进行单击的时候,通知Qt程序单击了哪一个设备点,好让Qt程序识别并作出反应比如弹出对应点的详细信息或者视频预览等。让网页执行js函数这种单向的操作,其实无论何种浏览器内核都支持的,并 阅读全文
posted @ 2020-04-11 10:59 飞扬青云 阅读(1909) 评论(0) 推荐(0) 编辑
摘要:一、前言 离线地图的核心其实就是拿到这些瓦片地图文件,并不是离线地图的代码怎么写,其实离线地图的网页代码和在线地图的网页代码几乎一致的,主要就是将对应的依赖的js文件从在线的地址改成本地的地址,然后可能多几个特殊的js文件用来本地交互,离线地图完全具备在线地图的大部分功能,离线地图有个好处就是可以离 阅读全文
posted @ 2020-04-10 08:54 飞扬青云 阅读(1697) 评论(0) 推荐(0) 编辑
摘要:一、前言 百度在线地图的应用老早就做过,后面经过不断的完善才到今天的这个程序,除了基本的可以载入地图并设置一些相关的属性以外,还增加了各种js函数直接异步加载数据比如动态添加点、矩形、圆形、行政区划等各种。当然最大的是增加了离线地图的支持,当年这个离线地图拖了很久很久才去做,最终还是搞定了。 在线地 阅读全文
posted @ 2020-04-09 09:36 飞扬青云 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:一、前言 用过echart的人都会遇到一个问题,就算是代码中写了window.onresize = echart.resize,也只是横向自适应拉伸填充页面,垂直方向不会变化,除非指定高度才可以,这就比较郁闷了,为何echart本身不会自适应呢?按道理不应该啊,莫非实现起来很困难?好吧先不管这个了, 阅读全文
posted @ 2020-04-08 09:29 飞扬青云 阅读(596) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示