先上效果,教程慢慢更(就是图片读取显示,很简单)
使用Qt写的,硬件:全志V3X
离线
离线地图下载
使用https://gitee.com/CrimsonHu/java_map_download里的地图下载器
划定需要的区域
下载
离线
GPS模块使用
我使用的是中科微电子的GPS模块,市场上的GPS模块大同小异吧,都是用串口读取数据的(波特率9600)
用正则表达式提取GNMC和GNVTG之间的信息,再次提取得到时间、经度、纬度、速度、方位等信息
离线
单位换算
经度纬度换算
原数据是ddmm.mmmm格式
data = (int)(ddmm.mm / 100) + mm.mmmm / 60 单位度
例:
图片读取纬度是2943.59986
换算成度为data = 29 + 43.59986 / 60
速度换算
v = 原数据 * 1.852 km/h
时间换算
离线
重点重点重点
瓦片坐标换算(输入转换后的经度纬度)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.14159265359
int main(int argc , char **argv)
{
if(argc != 4)
{
printf("error! such as: ./test 1 2 3\r\n");
return -1;
}
double longitude = atof(argv[1]); //经度
double latitude = atof(argv[2]); //纬度
int zoom = atoi(argv[3]); //级别
double xtile, ytile;
printf("%f %f %d \r\n", longitude, latitude, zoom);
latitude = latitude / 180.0 * PI; //角度转弧度
xtile = (longitude + 180.0) / 360.0 * pow(2.0, zoom); //计算地图瓦片坐标x
ytile = (1.0 - asinh(tan(latitude)) / PI) / 2.0 * pow(2.0, zoom); //计算地图瓦片坐标y
printf("\r\nxtile: %f \r\nytile: %f \r\nzoom: %d \r\n", xtile, ytile, zoom);
return 0;
}
高德地图查经度纬度网站
https://lbs.amap.com/tools/picker
记住这个圆心
lzq@lzq:~/desktop$ ./map 113.865221 29.714519 18
113.865221 29.714519 18
xtile: 213986.123594
ytile: 108393.812937
zoom: 18
lzq@lzq:~/desktop$
根据输出寻找瓦片地图图片,非常准
换个等级试试
最近编辑记录 资本家大善人 (2022-01-22 18:38:33)
离线
保持地理位置中央显示
我的屏幕320*240
最近编辑记录 资本家大善人 (2022-01-22 18:47:03)
离线
离线
这这这……这是那个码表的楼主自定义版本吗?
本来想要Qt里的浏览器显示地图的,但那玩意太难交叉编译了,最后学习那个码表的思路
离线
弄了一个安卓软件,直接转发手机GPS数据,这样大家不买模块也能玩GPS
最近编辑记录 资本家大善人 (2022-01-24 19:03:24)
离线
离线
不错不错,我以前做过测亩仪,就是根据GPS定位计算面积,如果能加入离线地图显示就不错了。学习了
是离线的哈哈,离线地图图片显示
离线
这个屏幕是mipi接口的吗 能上个链接吗
spi屏幕
MIPI只是小电脑名字,并不是屏幕接口
https://whycan.com/t_7281.html
https://whycan.com/t_7522.html
离线
牛啊 可以加上导航功能?或者离线路径导航那种的?
根据卫星的数据可以获取速度,获取方向的话,还得加陀螺仪
离线
如此小巧,卡不卡?
就一个图片调用显示,不卡
离线