当前第2页 返回上一页
而且watchPosiiton会返回一个watchID
我们可以通过clearWatch(warchID)取消监听
类似于取消定时器
1 2 | var ID = navigator.geolocation.watchPosition(function(pos){ ...},function(err){ ...},{ ...});
navigator.geolocation.clearWatch(ID);
|
如果clearWatch不带参数
则清除所有watchPosition
Haversine算法
我们有些时候
可能需要获取两点的距离
比如说订餐APP的获取附近商家
这时我们就可以利用Haversine算法来计算
1 2 3 4 5 6 7 8 9 10 11 12 13 | function toRadians(degree) {
return degree * Math.PI / 180;
}function haversine(latitude1, longitude1, latitude2, longitude2) {
var R = 6371; var deltaLatitude = toRadians(latitude2-latitude1);
var deltaLongitude = toRadians(longitude2-longitude1);
latitude1 = toRadians(latitude1);
latitude2 = toRadians(latitude2);
var a = Math.sin(deltaLatitude/2) * Math.sin(deltaLatitude/2) +
Math.cos(latitude1) * Math.cos(latitude2) *
Math.sin(deltaLongitude/2) * Math.sin(deltaLongitude/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c; return d;
}
|
传入两点的坐标就可以得到地理空间距离
其中var R = 6371;
是地球半径6371km
当然了也存在一些其他算法
在时间和精确度上有所不同
以上就是HTML5地理位置定位Geolocation-API及Haversine地理空间距离算法(图文)的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
h5缓存-manifest的示例代码分享(图文)
HTML5 history模式是什么
HTML5制作转盘的详解及实例
HTML5与html的区别有哪些
关于HTML5中图片抛物线运动技巧分享
HTML5中关于新增的几个背景属性和文本属性介绍
HTML5实践-css3 media queries详情介绍
HTML5 menu标签的具体定义和HTML5menu标签的用法详细解析
HTML5与css3的新交互特性
HTML5框架有哪些
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » HTML5地理位置定位Geolocation-API及Haversine地理空间距离算法(图文)