Javascript 在浏览器中获取地理位置

Javascript 在浏览器中获取地理位置,javascript,mobile,geolocation,Javascript,Mobile,Geolocation,我的页面中有以下JavaScript来获取用户的位置: state.currentTimer = navigator.geolocation.watchPosition(success, error, { enableHighAccuracy: true, maximumAge: 5000 }); 其目的是通过手机上的浏览器调用该页面。然而,watchPosition方法似乎难以置信地不可靠。有时它永远不会得到一个位置,其他时候的位置是大规模关闭,有时它会工作良好,然后

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

            state.currentTimer = navigator.geolocation.watchPosition(success, error, { enableHighAccuracy: true, maximumAge: 5000 });
其目的是通过手机上的浏览器调用该页面。然而,watchPosition方法似乎难以置信地不可靠。有时它永远不会得到一个位置,其他时候的位置是大规模关闭,有时它会工作良好,然后只是停止

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


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

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

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

我使用:

navigator.geolocation.getCurrentPosition(
    function(pos) {
        pos.coords.latitude;
        pos.coords.longitude;
        pos.coords.accuracy;
    },
    function(error) {
        error.code;
    }
);
所有信息都在这里

我使用:

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

所有信息都在这里

如何确保浏览器实际获取位置。很多时候,我一直在等待手机上的浏览器加载某个位置,但在再次刷新页面之前,我什么也不做。是否值得创建第二个计时器来监视第一个计时器的结果,如果没有结果返回,则清除第一个计时器并重试?我不这么认为,这完全取决于太多-卫星链接很难获得:)尽管试试,设置setTimeout或其他什么,如果没有结果,请重试。如何确保浏览器实际获取位置。很多时候,我一直在等待手机上的浏览器加载某个位置,但在再次刷新页面之前,我什么也不做。是否值得创建第二个计时器来监视第一个计时器的结果,如果没有结果返回,则清除第一个计时器并重试?我不这么认为,这完全取决于太多-卫星链接很难获得:)尽管尝试,设置setTimeout或其他什么,如果没有结果,请重试。