Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅使用js在移动设备上获取最精确位置的最佳方法_Javascript - Fatal编程技术网

Javascript 仅使用js在移动设备上获取最精确位置的最佳方法

Javascript 仅使用js在移动设备上获取最精确位置的最佳方法,javascript,Javascript,我正在创建一个webapp/pwa,在这里我需要一个精确的用户位置,比如说在30-40米以下,我已经尝试使用Radar.io和geolocation api,但仍然无法在safari上在我的iphone上获得足够精确的位置。我通常能得到60-70米的准确度,我怎么能比这更准确呢?我希望准确度与Nike Run Club应用程序相同,以供参考。我已多次使用地理定位API,如果您正确配置,它将非常精确 以下是我在类似项目中使用的一个片段: //检查此浏览器是否支持地理位置 if(导航器.地理位置){

我正在创建一个webapp/pwa,在这里我需要一个精确的用户位置,比如说在30-40米以下,我已经尝试使用Radar.io和geolocation api,但仍然无法在safari上在我的iphone上获得足够精确的位置。我通常能得到60-70米的准确度,我怎么能比这更准确呢?我希望准确度与Nike Run Club应用程序相同,以供参考。

我已多次使用地理定位API,如果您正确配置,它将非常精确

以下是我在类似项目中使用的一个片段:

//检查此浏览器是否支持地理位置
if(导航器.地理位置){
const timeoutVal=10*1000*1000;//为查询设置超时值
navigator.geolocation.getCurrentPosition(
//如果查询成功怎么办
((位置)=>警报(“纬度:+position.coords.Latitude+”,经度:+position.coords.Latitude)),
((错误)=>{
//如果查询失败,该怎么办:
常量错误={
1:'权限被拒绝',
2:‘职位不可用’,
3:'请求超时'
};
警报(“错误:+错误[Error.code]);//打印错误
}),
//这三个参数非常重要,尤其是第一个参数
{enableHighAccurance:true,timeout:timeoutVal,maximumAge:0}
);
}
否则{
警报(“此浏览器不支持地理位置”);
}

我的ios设备上也启用了精确的位置跟踪功能。
最大值
超时
参数的意义是什么?你是否碰巧对这种方法的精确度有一个粗略的估计,以米为单位?@svoruganti嘿,我在手机上试过,它正好指向我的家庭地址。
maximumAge
的要点是告诉浏览器它不能使用缓存的地理位置。那么
timeout
参数呢?这是否持续得到当前位置?如果是这样的话,这与
watchPosition()
?@svoruganti否有什么区别。您可以随时运行它-它不会产生任何计时器/事件侦听器。