一句话,使用 navigator.geolocation.getCurrentPosition() 在苹果的浏览器上返回的坐标为 WGS-84 (即为原始坐标), 在 android 手机的 Firefox 上返回的是 GCJ-02 (即为谷歌坐标)。
另外我在 android 上测试 UC 浏览器,发现 UC 返回的坐标既不是 WGS-84 也不是 GCJ-02,让人费解。
Chrome 浏览器还不支持这个接口。
我还测试了百度的定位接口 (new BMap.Geolocation()).getCurrentPosition(),发现百度的接口在苹果上是准确的而在 android 手机上却偏差很多,我确认的原因是百度接口默认 GPS 设备返回的经纬度一定是 WGS-84,而 android 上有可能返回的 GCJ-02 或是其它类型的坐标百度没有做处理,所以百度的 h5 定位接口在 android 上有偏差。
另外我在 android 上测试 UC 浏览器,发现 UC 返回的坐标既不是 WGS-84 也不是 GCJ-02,让人费解。
Chrome 浏览器还不支持这个接口。
我还测试了百度的定位接口 (new BMap.Geolocation()).getCurrentPosition(),发现百度的接口在苹果上是准确的而在 android 手机上却偏差很多,我确认的原因是百度接口默认 GPS 设备返回的经纬度一定是 WGS-84,而 android 上有可能返回的 GCJ-02 或是其它类型的坐标百度没有做处理,所以百度的 h5 定位接口在 android 上有偏差。