getDistance.js 584 B

1234567891011121314151617
  1. function Rad(d){
  2. return d * Math.PI / 180.0; //经纬度转换成三角函数中度分表形式。
  3. };
  4. // 将百度地图经纬度转换为腾讯/高德地图经纬度
  5. function distance(lat1, lng1, lat2, lng2) {
  6. var radLat1 = Rad(lat1);
  7. var radLat2 = Rad(lat2);
  8. var a = radLat1 - radLat2;
  9. var b = Rad(lng1) - Rad(lng2);
  10. var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
  11. Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
  12. s = s * 6378.137; // 地球半径;
  13. s = Math.round(s * 10000) / 10; //输出为米
  14. return s;
  15. }
  16. export default distance