当前第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移动端各种各样的列表的制作方法(五)
HTML5和css3制作一个模态框实例
服务端主动发送数据回客户端在h5里的实现步奏
HTML5 frameset标签的替代方案是什么?frameset标签替代的解决办法
移动端利用HTML5对照片处理的教程实例
如何提取图片的主题色?
关于h5的事件属性详解
HTML5 canvas图像处理的实现代码分享
具体介绍HTML5表单新增属性
iconfont图标引用的方法步骤(代码)
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » HTML5地理位置定位Geolocation-API及Haversine地理空间距离算法(图文)