为啥会重复请求didUpdateBMKUserLocation这个方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥会重复请求didUpdateBMKUserLocation这个方法相关的知识,希望对你有一定的参考价值。

参考技术A

原因:

定位多次回调,是因为系统定位的时候,可能存在偏差。例如系统在处理位置信息的时候,有可能使用GPS位置信息,也有可能使用基站位置信息,也有可能使用网络位置信息。按照信号强度以及其它数据综合处理得到位置结果,这个结果可能因外界环境的改变而改变,例如天气、信号干扰、网络波动。这些都是可随时变化的因素,故存在多次回调。

思路:

通常来说,取第一个回调的结果就可以了,因为你取位置,什么时候取,就用什么时候的结果,即使这个结果存在偏差。

如果要做精确位置,你可以尝试用数组存放你1秒(可根据具体业务制定,例如存在快速变化位置的可能,则可设置得更小)内获得的所有位置数据,然后对这个数据求均值,则这个均值是最接近真实位置的值了。

还有一种方法,就是新值覆盖旧值。例如最大等待1秒,如果这1秒之内有新值覆盖旧值,则使用新值并继续等待。当1秒之内没有新值,则使用获得的旧值,那么这个旧值则为当前位置值。

百度地图定位类开放了一个叫updating的属性,然而在位置更新的时候,此属性一直为YES,并不能作为获取到准确位置的判断。

结果:

故,只需要取第一次的回调结果即可,其它回调直接忽视。

为啥我的 html 请求在 javascript 中不起作用 [重复]

【中文标题】为啥我的 html 请求在 javascript 中不起作用 [重复]【英文标题】:Why is my html request not working in javascript [duplicate]为什么我的 html 请求在 javascript 中不起作用 [重复] 【发布时间】:2014-03-25 12:42:16 【问题描述】:

我是 html 和 javascript 的新手,需要一些帮助。

所以我有一个html 页面,上面有一个按钮。当我单击该按钮时,我希望它加载xml document(并最终从中显示某种信息)。我不知道我没有正确加载文件。如果我注释掉 xhttp.send; 它将运行。所以xttp.send 所在的行就是我遇到问题的地方。

注意事项:我正在写notepad++.xml 文件与我的.html 文件在同一目录中,我使用chrome 作为浏览器。

提前致谢

var xhttp;
function functionName()
    xhttp=new XMLHttpRequest();


    xhttp.open("GET","test.xml", false);
    xhttp.send();
    //xmlDoc=xmlhttp.responseXML; 
    //var temp =  xmlDoc.getElementsByTagName("alerts");
    alert("something");

 

</script>

【问题讨论】:

这应该会有所帮助:developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/… @MattBall - 请注意,您链接的问题使用异步请求,而此问题尝试同步请求。虽然异步通常更好,但我不确定 dup 是否是正确的......(使用 jQuery.ajax 可能更容易,但同样不是问题中所问的) 如果您从本地文件系统加载页面,Chrome 不会让您向本地文件发出 Ajax 请求,除非您以标志开头(我认为)。见***.com/q/16585514/218196 @AlexeiLevenkov 确实! 那么,发生了什么?你确定这个函数被调用了吗? html 是什么样子的? 【参考方案1】:

您必须为您的 xml 资源提供完整的 http 路径。

【讨论】:

以上是关于为啥会重复请求didUpdateBMKUserLocation这个方法的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 firebase 监听器重复记录

为啥我的 html 请求在 javascript 中不起作用 [重复]

即使我使用 API Post 请求发送数据,为啥 req 正文是 [重复]

为啥Angular将成功的http post请求的结果显示为“未定义” [重复]

为啥 async/await Axios 请求不会返回 Data 而不是 Promise 对象 [重复]

为啥http请求从客户端发送两次到服务器(OPTION和POST)[重复]