1

我正在开发一个基于地图的网络应用程序,我想为用户提供“使用当前位置”的能力

我可以很容易地检查 geolocation api 的可用性,如下所示:

if (navigator && navigator.geolocation) {}

一旦我真正打电话navigator.geoLocation.getCurrentPosition,我可以很容易地检查结果的准确性,或者结果是否可用。

但是,我只想在很有可能运行良好时才显示“使用当前位置”按钮,即产生精确到几百米以内的结果。我想在不要求用户分享他们的位置的情况下做出这个决定。

到目前为止,我最好的猜测是基本上尝试始终在台式机或笔记本电脑上隐藏此按钮,可能是通过使用 Modernizr 触摸屏检测。由于触摸屏笔记本电脑,这显然不会 100% 有效,但也许总比没有好。

我还想避免在服务器端做任何过于复杂的事情。这是迄今为止我的应用程序中唯一需要任何类型的设备检测的功能,因此 WURFL 或类似的用户代理查找是不可能的。我想在没有太多臃肿的情况下完成所有客户端

谢谢你的帮助

4

1 回答 1

1

抱歉不行。获取用户的地理位置准确性是私人信息,因此您需要先向最终用户发出请求(如 中所示navigator.geolocation.getCurrentPosition)。gps 的准确性是特定于设备的信息,因此您可以获得它的唯一方法是在客户端上而不是在您的服务器上。

抱歉,没有更好的解决方案适合您。如果你正在制作一个移动应用程序,你总是可以使用 phonegap/cordova 并使用或创建一个插件来获取这些信息。

于 2013-06-27T14:47:01.377 回答