|
【GoFast】4.在线地图功能的调用
发表于 2015-8-10 20:16:30
浏览:16421
|
回复:1
打印
只看该作者
[复制链接]
楼主
上一次实现了NM0183数据的解析,可以得到经纬度、时间、速度、方向等定位的信息,不过得到的经纬度不是给人看的。人能理解的东西是位置名称而不是数据,所以还需要把经度、纬度转换为省、市、道路名称之类的东西才行。
不过要转换成这样的数据,需要有庞大的数据库来支持,而且还需要不断地更新、扩展、修改,所以这个数据库自己是实现不了了。但是可以借助免费的在线地图来完成,比如百度、谷歌等都提供这样的功能。当然在国内,百度比谷歌要好一些。
回到程序,在import 了"github.com/tjCFeng/GoFast/DDNS"之后就可以调用封装好的解析程序了。
例如在Test.go示例程序中有这样一段
这个就是调用百度地图转换经纬度到地名的程序。
使用之前需要在百度中注册一个免费的帐号,获得一个Token。每个百度的功能都需要给出这个Token才能完成。
程序的第一行是创建这个类的实例,同时将这个Token当作参数赋值。
第二行是转换真实的经纬度坐标为百度地图偏移计算后的坐标。因为国家有规定,所有的在线地图必须做偏移,而且这个偏移度不是线性的,每个地区都是不一样的,所以要得到百度的偏移就要调用百度给出的接口。
这个第二行就是调用转换的功能函数,随便找个xxx.xxxxxxx度的经纬度,得到计算后的经纬度存在临时变量X, Y中,下面要用。
最主要的就是Location这个函数了,把计算后的经纬度赋进去,得到的是网站返回的XML或Json数据,再经过解析函数直接返回地址,可以给用户显示了。
最后附上这段解析程序
用golang来实现真的很简单。
|
|