2011-07-18 33 views
1

我在我的页面下面的JavaScript来获取用户的位置:获取GeoLocation中在浏览器中

  state.currentTimer = navigator.geolocation.watchPosition(success, error, { enableHighAccuracy: true, maximumAge: 5000 }); 

意在页面被从手机上的浏览器调用。然而,watchPosition方法似乎难以置信地不可靠。有时它不会得到一个位置,其他时间位置大量关闭,有时它会正常工作,然后停止。

我试图通过在具有良好信号的城市中测试来消除手机信号的问题。

有没有更好的方式在浏览器中从手机获取位置?

回答

0

真的,这是目前唯一的方法。为确保您获得更准确的结果,您可以检查传递给您的success处理程序的对象的accuracy属性。

+0

你如何确保浏览器实际上得到的位置。很多时候,我一直等待移动设备上的浏览器加载一个位置,但什么都不做,直到我再次刷新页面。是否值得创建第二个定时器来监视结果的第一个定时器,如果没有结果返回,则清除第一个定时器并再次尝试? –

+0

我不这么认为,这一切都取决于这么多 - 卫星链路很难得到:)尽管如此,请设置一个setTimeout或其他东西,如果您没有结果,请重试。 – Milimetric