30多岁学编程 2022-08-28 18:49 采纳率: 50%
浏览 10
已结题

记录一下计算两个点之间的距离的方法

//计算用户与商家之间的距离(封装
rad: function (d) {
return d * Math.PI / 180.0;
},

getDistance(lat1, lng1, lat2, lng2) {
var radLat1 = this.rad(lat1);
var radLat2 = this.rad(lat2);
var a = radLat1 - radLat2;
var b = this.rad(lng1) - this.rad(lng2);
var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))
s = s * 6378.137; // EARTH_RADIUS;
s = Math.round(s * 1000) / 1000; //输出为公里
var distance = '';
if (s >= 1) {
distance = s.toFixed(1) + "km";
} else {
distance = s * 1000 + "m";
}
return distance;
},

  • 写回答

1条回答 默认 最新

  • 30多岁学编程 2022-08-30 01:54
    关注

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月7日
  • 已采纳回答 8月30日
  • 创建了问题 8月28日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号