javascript - 使用html5测量特定位置和当前位置之间的距离

标签 javascript html geolocation gps

如标题所示。知道如何实现吗?

一直在看http://www.html5archive.com/2010/12/04/geolocation-api-example-distance-tracking/一段时间并尝试修改该代码,但没有成功。

最初不需要自动刷新。

但基本功能应该是获取用户位置并告知用户与特定点之间的距离。

最佳答案

关键代码在this page从您指定的链接。我已将其转换为以下函数:

/** Extend Number object with method to convert numeric degrees to radians */
if (typeof Number.prototype.toRadians == 'undefined') {
    Number.prototype.toRadians = function() { return this * Math.PI / 180; };
}

function getDistance(lat1,lon1,lat2,lon2) {
    var R = 6371; // km
    var dLat = (lat2-lat1).toRadians();
    var dLon = (lon2-lon1).toRadians(); 
    var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
            Math.cos(lat1.toRadians()) * Math.cos(lat2.toRadians()) * 
            Math.sin(dLon/2) * Math.sin(dLon/2); 
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    return R * c;
}

您需要将特定的纬度和经度作为前两个参数传递给它,将当前的经纬度作为后两个参数传递给它。

关于javascript - 使用html5测量特定位置和当前位置之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6046928/

相关文章:

javascript - 缩小以在窗口内垂直放置一个 div

javascript - object.style.left 在 javascript 中什么都不返回?

javascript - 使用javascript给出一些条件语句时如何计算一定的成绩

php - Haversine计算: Show users within set

javascript - 还可以触发点击事件 - KendoUI Mobile Framework

javascript - Clearbox 是否已被弃用?

android - 单击按钮时获取位置

javascript - 无法加载谷歌地图

javascript - 如何从 Javascript 字符串中删除以特定字符开头的单词

javascript - 重新加载后保存状态 flex 菜单