本帖最后由 bg6rsh 于 2020-11-24 13:03 编辑
由于国内地图不论是高德、百度、腾讯等,都不是直接使用的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系统终端:
第二步,先将要替换的5个文件作备份:
mv tracker-server.jar tracker-server.jar.bak
mv ./web/app.min.js ./web/app.min.js.bak
mv ./web/l10n/zh.json ./web/l10n/zh.json.bak
mv ./web/app/view/map/BaseMap.js ./web/app/view/map/BaseMap.js.bak
mv ./web/app/store/MapTypes.js ./web/app/store/MapTypes.js.bak
第三步、下载适配版的文件到原目录中
wget http://traccar.atoo.top:5080/downloads/tracker-server.jar
wget -O ./web/app.min.js http://traccar.atoo.top:5080/downloads/app.min.js
wget -O ./web/l10n/zh.json http://traccar.atoo.top:5080/downloads/zh.json
wget -O ./web/app/view/map/BaseMap.js http://traccar.atoo.top:5080/downloads/BaseMap.js
wget -O ./web/app/store/MapTypes.js http://traccar.atoo.top:5080/downloads/MapTypes.js
更新完后目录结构:
第四步、重新启动Traccar服务:
再清除浏览器缓存
(注:普通用户权限,要在“账户-个性化设置”里面选地图)
//***** hass.io中安装的traccar的配置方法******// 直接在DOCKER下装的TRACCAR 与 在HASS.IO下装的TRACCAR启动的机制不一样,在DOCKER下装的TRACCAR中修改文件与增加文件,重启后会保留。而在HASS.IO下装的TRACCAR中所作的任何修改,除了被映射出来的CONFIG\SSL\DATA目录处,重启服务后会被重置。下面以我在群晖中的更换方法举例说明:
第一步:用PUTTY软件,以“admin”用户登录群晖的SSH命令行,再用“sudo -i”取得root权限,密码都用admin的,见下图: 1、按上图中的命令进入“cd /volume1/@docker/btrfs/subvolumes/”目录; 2、执行“find -name tracker-server.jar”命令,查找traccar服务程序所在目录。找到了个3目录,1个是0830开头,2个b3b88开头的(你们的肯定跟我的不一样),进入只有单独1个的那个目录,也就是0830开头的。执行 “ cd ./0830d0a98511fca72e0756f7a4b1acf832b82a03dae4c47a91a73719158cb19a/opt/traccar/”命令;有个小技巧,输入0830后,按下TAB键,目录可自动补全哦 3、在这具目录下执行教程前面的备份命令、和下载命令,执行完后看下图。 4、执行“ls -l"命令,看一下下图中我已换好了的图片; 原4.8版的tracker-server.jar文件大小1859258字节,新的4.8版服务程序为1885040字节,到这就更新完成。
第二步 在群晖Docker控制页面中,停止Traccar服务--->清除续存---->再次启动服务。如下图:
最后清除浏览器续存,登录TRACCAR,看看是不是成功了。还可在TRACCAR系统终端查看一下里面文件是否替换成功,进入方法见最前面“第一步”。 ***************************** 特别说明一下:替换了服务程序后,以后数据库所存坐标将全部为高德地图坐标,不过以后我也不打算用其他地图了。以前数据库中的GPS坐标需要用另外的程序转换成高德坐标。
|