Traccar系统高德地图适配测试版,解决地图偏移问题

  由于国内地图不论是高德、百度、腾讯等,都不是直接使用的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个文件作备份:

  1. mv tracker-server.jar tracker-server.jar.bak
  2. mv ./web/app.min.js ./web/app.min.js.bak
  3. mv ./web/l10n/zh.json ./web/l10n/zh.json.bak
  4. mv ./web/app/view/map/BaseMap.js  ./web/app/view/map/BaseMap.js.bak
  5. mv ./web/app/store/MapTypes.js ./web/app/store/MapTypes.js.bak
t13.PNG

第三步、下载适配版的文件到原目录中

  1. wget http://traccar.atoo.top:5080/downloads/tracker-server.jar
  2. wget -O ./web/app.min.js  http://traccar.atoo.top:5080/downloads/app.min.js
  3. wget -O ./web/l10n/zh.json http://traccar.atoo.top:5080/downloads/zh.json
  4. wget -O ./web/app/view/map/BaseMap.js  http://traccar.atoo.top:5080/downloads/BaseMap.js
  5. wget -O ./web/app/store/MapTypes.js http://traccar.atoo.top:5080/downloads/MapTypes.js
t14.PNG
t15.PNG

更新完后目录结构:

t16.PNG

第四步、重新启动Traccar服务:
再清除浏览器缓存

t17.PNG
t18.PNG
t19.PNG

大家也可在我的服务器上试用一下。
http://traccar.atoo.top:8082

原文作者: BG6RSH | 查看原帖

此条目发表在技术交流分类目录。将固定链接加入收藏夹。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理。