【问题标题】:Get GeoLocation In The Browser在浏览器中获取地理位置
【发布时间】:2011-07-18 20:26:39
【问题描述】:

我的页面中有以下 JavaScript 来获取用户的位置:

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

旨在从手机浏览器调用该页面。但是 watchPosition 方法似乎非常不可靠。有时它永远无法获得位置,有时该位置被大量关闭,有时它可以正常工作,然后就停止了。

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

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

【问题讨论】:

    标签: javascript mobile geolocation


    【解决方案1】:

    我用:

    navigator.geolocation.getCurrentPosition(
        function(pos) {
            pos.coords.latitude;
            pos.coords.longitude;
            pos.coords.accuracy;
        },
        function(error) {
            error.code;
        }
    );
    

    所有信息都在这里http://dev.w3.org/geo/api/spec-source.html

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 如何确保浏览器实际获取位置。很多时候,我一直在等待移动设备上的浏览器加载位置,但在我再次刷新页面之前什么都不做。是否值得创建第二个计时器来监视第一个计时器的结果,如果没有返回结果,则清除第一个计时器并重试?
      • 我不这么认为,这完全取决于 - 卫星链接很难获得 :) 尝试一下,设置一个 setTimeout 或其他东西,如果没有结果,再试一次.
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      相关资源
      最近更新 更多