2013-03-19 103 views
1

目前,我正在寻找用firefox OS与设备的GPS通信设备的一种方式,所以它可以得到准确的位置定位,而不是W3C地理位置API这是不一样的GPS实时准确..谢谢!的Firefox OS设备的GPS

回答

3

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

龙答:我与它的经验是不坏。因此,我认为只有两种可能性没有得到“准确的位置定位”,正如你的名字所示:

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

在第一种情况下,你可以验证,如果你使用enableHighAccuracy这样的:

navigator.geolocation.watchPosition(
    successCallback, 
    errorCallback, 
    { enableHighAccuracy: true } 
); 

这将要求浏览器更好结果,如standard所示。注意这可能会使用更多的电池,而这可能无法使用。这可能需要更多时间,这与我的其他观察有关。

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

如果maximumAge很高,并且timeout很小,您会得到一个过时的位置,因为没有足够的时间来获得新位置并且您接受一个旧位置。

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

你需要找到所有的3个选项之间的平衡,以获得最佳的位置。有时你必须耐心等待。

播放所有3个选项,并看看你得到的错误。他们会告诉你很多关于你的问题得到精确和准确的坐标。

位置对象有可能会派上用场,分析什么happaning一些属性:

  • position.timestamp属性会告诉你那个位置的对象有多老。如果这是旧的,你知道你应该调整的选项
  • position.coords.accuracy属性会告诉你的纬度/经度坐标的精度水平。如果这是太大了(这是米),你知道你应该调整的选项

如果你一直等下去,在一个地方,GPS应该很好地工作(比如说,户外,在一个干净的领域),以及你一直得到不准确的结果,也许你无法做得更好。我想说这是不可能的,你的软件+硬件=(

+0

我看,很详细的解释。谢谢!虽然没有真正的设备可以玩,但只是想知道webAPI将如何与手机的硬件配合使用。 – wiratama 2013-03-22 14:14:36

0

您可以使用地理位置API Firefox OS或谷歌地图(我不记得在那里我得到了它)

1

截至目前,Firefox操作系统只支持GPS定位(最新添加的A-GPS)。事实上,大多数情况下,您至少需要等待1到几分钟才能让GPS模块获得您所在位置的锁定,并且您需要清楚地看看天空中是否会获得锁定。也就是说,在获得锁定之后,通过使用呼叫本身的正确设置(如将enableHighAccuracy标志设置为true), GPS应该提供与其他任何设备相同的准确位置

现在基于单元格和基于WiFi的地理位置在当前版本的操作系统(1.0.1或1.1.0)中不可用,但正在进行中。