HTML5地理位置定位Geolocation-API及Haversine地理空间距离算法(图文)


当前第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》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...