查看: 919|回复: 0

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

[复制链接]
  • TA的每日心情
    奋斗
    2022-9-16 05:52
  • 签到天数: 1368 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-9-30 11:24:41 | 显示全部楼层 |阅读模式
    分享到:
    上一次实现了NM0183数据的解析,可以得到经纬度、时间、速度、方向等定位的信息,不过得到的经纬度不是给人看的。人能理解的东西是位置名称而不是数据,所以还需要把经度、纬度转换为省、市、道路名称之类的东西才行。
        不过要转换成这样的数据,需要有庞大的数据库来支持,而且还需要不断地更新、扩展、修改,所以这个数据库自己是实现不了了。但是可以借助免费的在线地图来完成,比如百度、谷歌等都提供这样的功能。当然在国内,百度比谷歌要好一些。
       
        回到程序,在import 了"github.com/tjCFeng/GoFast/DDNS"之后就可以调用封装好的解析程序了。
        例如在Test.go示例程序中有这样一段

        这个就是调用百度地图转换经纬度到地名的程序。
       
        使用之前需要在百度中注册一个免费的帐号,获得一个Token。每个百度的功能都需要给出这个Token才能完成。
        程序的第一行是创建这个类的实例,同时将这个Token当作参数赋值。
       
        第二行是转换真实的经纬度坐标为百度地图偏移计算后的坐标。因为国家有规定,所有的在线地图必须做偏移,而且这个偏移度不是线性的,每个地区都是不一样的,所以要得到百度的偏移就要调用百度给出的接口。
        这个第二行就是调用转换的功能函数,随便找个xxx.xxxxxxx度的经纬度,得到计算后的经纬度存在临时变量X, Y中,下面要用。
       
        最主要的就是Location这个函数了,把计算后的经纬度赋进去,得到的是网站返回的XML或Json数据,再经过解析函数直接返回地址,可以给用户显示了。

        最后附上这段解析程序

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

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 01:39 , Processed in 0.112989 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.