我最近发布了一个有关获取用户位置的问题,我认为我已经使用geolocation.geolocation.provider解决了该问题。但是,我在不同设备上的行为很奇怪。在iPhone 5s上,我得到了标记自己位置的最准确,最小的圆圈。在银河系S3上,我的圆圈很大,需要很长时间才能连接。然后,我通过蓝牙将Nexus连接到我的手机,并共享3G Internet。有趣的是,我的位置根本没有表现出来。在所有三种情况下,我都尝试进入Bing Maps和Google Maps,它们都非常准确地显示了我的位置。我是否有任何事情在我的代码和bing/google地图的代码之间进行这种差异?
谢谢大家贾斯汀
Bing Maps网站使用相同的功能。所有这些都是将不同的基于Web的Geolocation API包装为不同的浏览器,将其纳入一个易于使用的类。此方法从浏览器内置的地理位置功能中拉出位置(较旧的浏览器有几种不同的方法)。如果GPS设备具有访问权限(小圆圈),则将使用wifi或IP地址(大圆圈)。值得检查的几件事,如果在应用程序中使用了这一点,您是否启用了对地理位置传感器的访问?如果通过浏览器将其用作Web应用程序,您是否得到了提示以允许访问您的位置,并且按下允许吗?如果该设备无法访问GPS,并且它正在使用另一部手机中的共享WiFi,我可以看到这可能会混淆事物。
另一个选项是使用html5地理位置API:http://www.w3schools.com/html/html/html5_geolocation.asp