Firefly开源社区

打印 上一主题 下一主题

【GoFast】4.在线地图功能的调用

230

积分

23

威望

20

贡献

技术达人

Rank: 2

积分
230

突出贡献

【GoFast】4.在线地图功能的调用

发表于 2015-8-10 20:16:30      浏览:16424 | 回复:1        打印      只看该作者   [复制链接] 楼主
    上一次实现了NM0183数据的解析,可以得到经纬度、时间、速度、方向等定位的信息,不过得到的经纬度不是给人看的。人能理解的东西是位置名称而不是数据,所以还需要把经度、纬度转换为省、市、道路名称之类的东西才行。
    不过要转换成这样的数据,需要有庞大的数据库来支持,而且还需要不断地更新、扩展、修改,所以这个数据库自己是实现不了了。但是可以借助免费的在线地图来完成,比如百度、谷歌等都提供这样的功能。当然在国内,百度比谷歌要好一些。

    回到程序,在import 了"github.com/tjCFeng/GoFast/DDNS"之后就可以调用封装好的解析程序了。
    例如在Test.go示例程序中有这样一段


    这个就是调用百度地图转换经纬度到地名的程序。

    使用之前需要在百度中注册一个免费的帐号,获得一个Token。每个百度的功能都需要给出这个Token才能完成。
    程序的第一行是创建这个类的实例,同时将这个Token当作参数赋值。

    第二行是转换真实的经纬度坐标为百度地图偏移计算后的坐标。因为国家有规定,所有的在线地图必须做偏移,而且这个偏移度不是线性的,每个地区都是不一样的,所以要得到百度的偏移就要调用百度给出的接口。
    这个第二行就是调用转换的功能函数,随便找个xxx.xxxxxxx度的经纬度,得到计算后的经纬度存在临时变量X, Y中,下面要用。


    最主要的就是Location这个函数了,把计算后的经纬度赋进去,得到的是网站返回的XML或Json数据,再经过解析函数直接返回地址,可以给用户显示了。


    最后附上这段解析程序


    用golang来实现真的很简单。
回复

使用道具 举报

发表于 2015-8-11 09:23:57        只看该作者  沙发
看起来go语言还是很方便来开发
暴走的创客!
回复

使用道具 举报

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

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表