首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firefox OS设备gps

Firefox OS设备gps
EN

Stack Overflow用户
提问于 2013-03-19 12:42:52
回答 2查看 2K关注 0票数 1

我目前正在寻找一种使用火狐操作系统的设备与设备的gps进行通信的方法,这样它就可以获得准确的位置定位,而不是w3c geolocation api,后者不如gps实时准确。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-21 06:10:14

答案很简单:不可能直接访问“设备的GPS”。你只有你已经知道的Geolocation API

长篇大论:我的经验一点也不差。所以,我认为只有两种可能无法获得“准确的位置定位”,正如你所说的:

  1. 也许你没有使用正确的选项来获得精确的位置。在这种情况下,您可以稍微调整选项以获得更好的结果;
  2. 也许您没有等到基础软件可以使用您的GPS,而不是使用一些不太精确的仪器/估计(如Wi-Fi定位estimation).
  3. It可以是两者的组合=P

在第一种情况下,您可以验证是否正在使用enableHighAccuracy,如下所示:

代码语言:javascript
复制
navigator.geolocation.watchPosition(
  successCallback,
  errorCallback,
  { enableHighAccuracy: true }
);

这将要求浏览器获得更好的结果,如standard所示。请注意,这可能会使用更多的电池,这可能是无论如何都不可用的。这可能也需要更多的时间,这与我的其他观察结果有关。

在第二种情况下,您可能使用的timeout值太小,也可能与maximumAge组合使用的值太高。

如果maximumAge很高,而timeout很小,你会得到一个过时的职位,因为没有足够的时间获得新职位,你会接受一个旧职位。

如果两者都很小,你会开始得到很多TIMEOUT错误(值为3),因为没有你的位置。

你需要在所有3个选项之间找到合适的平衡,以获得最佳职位。有时候你必须要有耐心。

尝试所有3个选项,看看你得到的错误。他们会告诉你很多关于获取精确坐标的问题。

position对象有一些属性,可以用来分析正在发生的事情:

  • position.timestamp属性将告诉您该位置对象的年龄。如果这是旧的,您知道应该调整选项
  • position.coords.accuracy属性将告诉您经度/经度坐标的精度级别。如果这个值太大(以米为单位),您知道应该调整选项

如果你一直等待,在一个GPS应该能正常工作的地方(比如在户外,干净的场地上),你总是得到不准确的结果,也许你也不能做得更好。我想说这无论如何都是不可能的,因为你的software+hardware =(

票数 3
EN

Stack Overflow用户

发布于 2013-03-20 21:11:07

您可以使用Geolocation API Firefox OS或Google Maps (我不记得是从哪里得到的)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15491636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档