我正在寻找使用firefox操作系统与设备的gps通信的设备,因此它可以获得准确的位置定位,而不是像gps实时那样准确的w3c地理位置api ..谢谢!
答案 0 :(得分:3)
简单回答:无法直接访问“设备的GPS”。您只拥有自己已知的Geolocation API。
答案很长:我对它的体验一点也不差。所以,我认为只有两种可能性没有得到“确切的位置定位”,正如你所说的那样:
在第一种情况下,您可以验证您是否正在使用enableHighAccuracy
,如下所示:
navigator.geolocation.watchPosition(
successCallback,
errorCallback,
{ enableHighAccuracy: true }
);
这将要求浏览器获得更好的结果,如standard所示。注意这可能会使用更多的电池,但这可能无法使用。这可能需要更多时间,这与我的其他观察结果有关。
在第二种情况下,您可能使用的timeout
值太小,可能与maximumAge
的值太高。
如果maximumAge
很高而且timeout
很小,那么你会得到一个过时的位置,因为没有足够的时间来获得新的职位而你接受旧的职位。
如果两者都很小,你会开始出现很多TIMEOUT
错误(值为3),因为没有任何职位。
您需要在所有3个选项之间找到适当的平衡点以获得最佳位置。你有时必须耐心等待。
使用所有3个选项进行游戏,然后查看您获得的错误。他们会告诉你很多关于你获得精确和准确坐标的问题。
位置对象有一些属性可以派上用场来分析什么是幸福的:
position.timestamp
属性将告诉您该位置对象的年龄。如果这是旧的,你知道你应该调整选项position.coords.accuracy
属性会告诉您纬度/经度坐标的准确度。如果这个太大(以米为单位),你知道你应该调整选项如果你永远等待,在GPS应该运行良好的地方(比如户外,在干净的地方),并且你不断得到不准确的结果,也许你无论如何都不能做得更好。无论如何,我说这是不可能的,你的软件+硬件=(
答案 1 :(得分:1)
截至目前,Firefox OS仅支持GPS定位(最新增加的A-GPS)。这导致了这样的事实:大多数情况下,您至少需要等待1到几分钟才能使GPS模块锁定您的位置,并且您需要清楚地看天空才能获得锁定。
也就是说,在获得锁定后,通过使用呼叫本身中的正确设置(如将enableHighAccuracy
标志设置为true
), GPS应提供与任何地方一样准确的位置其他设备会。
目前,基于单元格和基于wifi的地理定位在当前版本的操作系统(1.0.1或1.1.0中)中不可用,但正处于管道中。
答案 2 :(得分:0)
您可以使用地理位置API Firefox OS或Google地图(我不记得我在哪里获得)