请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1895|回复: 25

[技术探讨] Traccar系统高德地图适配版,解决地图偏移问题

[复制链接]

2

主题

30

帖子

157

积分

论坛技术达人

积分
157
金钱
122
HASS币
20
发表于 2020-3-12 20:18:57 | 显示全部楼层 |阅读模式
本帖最后由 bg6rsh 于 2020-3-15 16:52 编辑

由于国内地图不论是高德、百度、腾讯等,都不是直接使用的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服务:
           再清除浏览器缓存

                               
登录/注册后可看大图



                               
登录/注册后可看大图
(注:普通用户权限,要在“账户-个性化设置”里面选地图)



                               
登录/注册后可看大图


测试服务器:   http://traccar.atoo.top:8082

//***** hass.io中安装的traccar的配置方法******//
直接在DOCKER下装的TRACCAR 与 在HASS.IO下装的TRACCAR启动的机制不一样,在DOCKER下装的TRACCAR中修改文件与增加文件,重启后会保留。而在HASS.IO下装的TRACCAR中所作的任何修改,除了被映射出来的CONFIG\SSL\DATA目录处,重启服务后会被重置。下面以我在群晖中的更换方法举例说明:

第一步:用PUTTY软件,以“admin”用户登录群晖的SSH命令行,再用“sudo -i”取得root权限,密码都用admin的,见下图:
s1.PNG
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"命令,看一下下图中我已换好了的图片;
s3.PNG
原4.8版的tracker-server.jar文件大小1859258字节,新的4.8版服务程序为1885040字节,到这就更新完成。

第二步 在群晖Docker控制页面中,停止Traccar服务--->清除续存---->再次启动服务。如下图:
s4.PNG

最后清除浏览器续存,登录TRACCAR,看看是不是成功了。还可在TRACCAR系统终端查看一下里面文件是否替换成功,进入方法见最前面“第一步”。
*****************************
特别说明一下:替换了服务程序后,以后数据库所存坐标将全部为高德地图坐标,不过以后我也不打算用其他地图了。以前数据库中的GPS坐标需要用另外的程序转换成高德坐标。

   

评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 虽然看不懂,但感觉很厉害的样子。.

查看全部评分

回复

使用道具 举报

11

主题

267

帖子

1007

积分

金牌会员

Rank: 6Rank: 6

积分
1007
金钱
735
HASS币
20
发表于 2020-3-12 21:39:56 | 显示全部楼层
给力 这个跟TraccarCN 是不是一个效果  osmand maps travel&navigate 是这个么手机端
回复

使用道具 举报

15

主题

565

帖子

2035

积分

金牌会员

Rank: 6Rank: 6

积分
2035
金钱
1465
HASS币
40
发表于 2020-3-12 23:06:12 | 显示全部楼层
本帖最后由 houhd 于 2020-3-13 16:44 编辑

Traccar直接在服务器里配置:
https://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}


微信图片_20200312230537.png


HA里使用Traccar.cn自定义组件来纠偏。
项目地址:
https://github.com/jihao/traccar-cn-hass

漏个步骤,NR流纠偏,终端的服务器地址设置成nr纠偏的地址。
注意:NR纠偏会把NR映射到外网去,所以NR最好要开启登录验证功能,这样相对安全些。

微信图片_20200313163902.png 微信图片_20200313163911.jpg
Traccar纠偏.rar (692 Bytes, 下载次数: 17)
回复

使用道具 举报

2

主题

30

帖子

157

积分

论坛技术达人

积分
157
金钱
122
HASS币
20
 楼主| 发表于 2020-3-13 10:37:06 | 显示全部楼层
houhd 发表于 2020-3-12 23:06
Traccar直接在服务器里配置:

这个我以前好像用过,不知道为什么没有成功。这个插件解决了逆地理编码功能了吗?
回复

使用道具 举报

4

主题

103

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
金钱
298
HASS币
0
发表于 2020-3-14 19:45:41 | 显示全部楼层
老大,不行呢,还是偏移很远
回复

使用道具 举报

2

主题

30

帖子

157

积分

论坛技术达人

积分
157
金钱
122
HASS币
20
 楼主| 发表于 2020-3-14 22:40:59 | 显示全部楼层
l58128667 发表于 2020-3-14 19:45
老大,不行呢,还是偏移很远

如果你的traccar是通过hass.io的方式装的,那替换文件的地方不一样,晚些时候我把方法补全一下你再试啊。
回复

使用道具 举报

4

主题

103

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
金钱
298
HASS币
0
发表于 2020-3-15 14:03:53 | 显示全部楼层
bg6rsh 发表于 2020-3-14 22:40
如果你的traccar是通过hass.io的方式装的,那替换文件的地方不一样,晚些时候我把方法补全一下你再试啊。 ...

我的是docker安装的,几个地图切换几次,现在好了,谢谢老大
回复

使用道具 举报

156

主题

2424

帖子

5490

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
5490
金钱
3056
HASS币
318

活跃会员教程狂人灌水之王

QQ
发表于 2020-3-16 21:39:25 | 显示全部楼层
hass.io  中的插件你替换成 上海和程度的时区 PR呗~~
回复

使用道具 举报

156

主题

2424

帖子

5490

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
5490
金钱
3056
HASS币
318

活跃会员教程狂人灌水之王

QQ
发表于 2020-3-16 23:20:15 | 显示全部楼层
hassio 的Traccar插件 按楼主的方法 测试 Traccar手机客户端 几乎无偏差,手头上有个设备GT550  改天测试下
回复

使用道具 举报

156

主题

2424

帖子

5490

积分

超级版主

我就是六神

Rank: 8Rank: 8

积分
5490
金钱
3056
HASS币
318

活跃会员教程狂人灌水之王

QQ
发表于 2020-3-16 23:21:39 | 显示全部楼层
建议直接发布一个已经改好的docker 镜像
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2020-9-21 16:51 , Processed in 0.106991 second(s), 38 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表