由于国内地图不论是高德、百度、腾讯等,都不是直接使用的GPS坐标(WGS-84原始坐标系),而是使用的是GCJ-02坐标系,又名“火星坐标系”,百度坐标系的bd-09坐标系。因此直接在Traccar系统上用高德、百度地图,会存在偏移几百到几千米的距离。
目前国内有很多朋友想了很多好办法解决了这个问题,但我一直没找到一个适合我的方法,有些方法也没说的很清楚。
春节以来,武汉因新冠疫情,宅在家里已经一个月了,实在没事就将Traccar的最新源码V4.8拉了下来分析了一下,在Deepin系统上搭建了编译环境。经过几天的跟踪分析,直接将GPS坐标转高德地图坐标、将坐标转换为具体地址的功能内置到系统中。经过几天的测试,感觉还行。目前只适配了手机客户端Osmand、Gt30、Gt06、Gt02几种协议,且只在手机客户端上测试通过,其他几个协议没有设备,无法测试。欢迎大家下载测试。。。。
要更换成高德适配版一共要替换下面5个文件:
1)tracker-server.jar
2)./web/app.min.js
3)./web/l10n/zh.json
4)./web/app/view/map/BaseMap.js
5)./web/app/store/MapTypes.js
第一个文件是Traccar服务主程序,后面4个是WEB服务的页面文件,将这5个文件替换后,重启服务,清除浏览器缓存就行了,下面来说说更换方法。以群晖Docker中的Traccar来说明:(跟hass.io中安装的traccar的配置方法不一样)。
第一步,进入traccar系统终端:
t10.PNG
t11.PNG
t12.PNG
第二步,先将要替换的5个文件作备份:
-
mv tracker-server.jar tracker-server.jar.bak
-
mv ./web/app.min.js ./web/app.min.js.bak
-
mv ./
…