V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
enginex
V2EX  ›  前端开发

国内地图 API 经纬度都不准吗?

  •  
  •   enginex ·
    satorioh · 2017-09-03 22:04:39 +08:00 · 3892 次点击
    这是一个创建于 2639 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新手,最近做一个项目需要地理定位,使用的百度地图 JS API,发现它的浏览器定位与实际位置差了几十公里,即使用了百度的纠偏函数,效果也不明显,官方给出的解释是“因为目前浏览器 H5 定位功能的瓶颈限制,精度基本上是不可能到达 GPS 的级别的”。

    试过高德的 JS API demo,也是一样的问题,因此很纠结。

    后来无意中用了下 H5 原生的地理定位,发现位置出奇的准确,对比前后的输出,百度高德在一开始给到的经纬度上就有明显的误差,可惜因为众所周知的原因,原生的定位在国内不能用

    感觉有点奇怪,不都是基于浏览器 H5 的定位吗,为何有如此偏差?政策?

    另外想请教各位前辈,这个问题要如何解决?有更准确获取经纬度的方法吗?偏差实在太大

    第 1 条附言  ·  2017-09-06 11:55:14 +08:00
    感谢各位,已使用 cordova 百度 SDK 插件代替 JS API 解决了问题,调用原生的定位就是准确啊
    9 条回复    2018-12-03 23:22:28 +08:00
    learnshare
        1
    learnshare  
       2017-09-03 22:28:00 +08:00
    火星坐标 :)
    weyou
        2
    weyou  
       2017-09-03 22:29:37 +08:00 via Android   ❤️ 1
    google 关键字 火星坐标系统
    imswing
        3
    imswing  
       2017-09-03 22:32:31 +08:00 via Android
    火星坐标,而且 PC 端用浏览器定位确实不准。
    Dibel
        4
    Dibel  
       2017-09-03 23:21:25 +08:00
    偏差如果达到了十几公里的话,基本可以排除火星坐标系( GCJ-02 )的影响,一般 GCJ-02 造成的偏差在 500 米左右
    如果原生能够拿到准确的地理定位的话,建议用原生 API 先取出原始坐标,再使用百度 /高德提供的坐标转换 API 转换出正确的结果显示
    wangxiaoer
        5
    wangxiaoer  
       2017-09-04 09:16:29 +08:00
    因为你调用的所谓百度、高德 api 的定位接口不仅仅依赖浏览器自身定位,还会结合这些厂商自己的热点库在厂商服务器后台进行计算,热点量不够的话就不精确,会导致比纯浏览器定位精度还要低。

    至于偏了十几公里,怀疑后台用了基于 ip 的粗略定位。
    enginex
        6
    enginex  
    OP
       2017-09-04 13:01:27 +08:00
    @learnshare @imswing @weyou 好的,我试下看看,感谢
    enginex
        7
    enginex  
    OP
       2017-09-04 13:08:00 +08:00
    @Dibel 原生 API 要 x 墙才能获取原始坐标,不然直接报错,难道项目要内置一个 x 墙服务?
    enginex
        8
    enginex  
    OP
       2017-09-04 13:12:51 +08:00
    @wangxiaoer 嗯,之前百度的高精度 IP 定位就是准的吓人,可惜现在不对外了
    iappled
        9
    iappled  
       2018-12-03 23:22:28 +08:00
    @enginex 为啥要 x qiang
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   918 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:01 · PVG 04:01 · LAX 12:01 · JFK 15:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.