0

我最近发布了一个关于获取用户位置的问题,我认为我已经使用 geolocation.GeoLocationProvider 解决了这个问题。但是,我在不同的设备上有奇怪的行为。在 iphone 5s 上,我得到了最准确和最小的圆圈来标记我的位置。在 Galaxy S3 上,我得到非常大的圆圈并且需要很长时间才能连接。然后我通过蓝牙将 Nexus 连接到我的手机并共享 3G 互联网。有趣的是,我的位置根本没有显示出来。在所有 3 种情况下,我都尝试使用 bing 地图和谷歌地图,它们都非常准确地显示了我的位置。对于我的代码和 bing/google 地图代码之间的这种差异,我有什么要跳过的吗?

谢谢大家,贾斯汀

4

1 回答 1

0

Bing 地图站点使用相同的功能。所有这一切都将针对不同浏览器的不同基于 Web 的地理定位 API 包装到一个易于使用的类中。此方法从浏览器内置的地理定位功能中提取位置(旧浏览器有几种不同的方法)。这将使用 GPS 设备,如果它可以访问(小圆圈),回退到 WIFI 或 IP 地址(大圆圈)。有几件事值得检查,如果在应用程序中使用它,您是否启用了对地理定位传感器的访问?如果通过浏览器将其用作 Web 应用程序,您是否收到允许访问您的位置的提示并且您是否按了允许?如果设备无法访问 GPS 并且它正在使用另一部手机的共享 WIFI,我可以看到这可能会造成混乱。

另一种选择是使用 HTML5 地理定位 API:http ://www.w3schools.com/HTML/html5_geolocation.asp

于 2014-03-14T18:26:21.503 回答