miniprogram 获取两点之间的距离(经纬度)

时间:2022-05-17 18:47:52
getDistance: function (lat1, lng1, lat2, lng2) {

    lat1 = lat1 || 0;

    lng1 = lng1 || 0;

    lat2 = lat2 || 0;

    lng2 = lng2 || 0;

    var rad1 = lat1 * Math.PI / 180.0;

    var rad2 = lat2 * Math.PI / 180.0;

    var a = rad1 - rad2;

    var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;

    var r = 6378137;

    return (r * 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)))).toFixed(0)

  },

当然,也可以使用腾讯自家的https://lbs.qq.com/qqmap_wx_jssdk/method-calculatedistance.html
不过好像距离只能是10km以内

miniprogram 获取两点之间的距离(经纬度)
获取一个地区的经纬度数组集合

var finalArr=[];
  bdary.get("天河区",function(re){
    console.log(re.boundaries);
    let smallArr = re.boundaries[0].split(";");
    console.log(smallArr)
    for(let i of smallArr){
      var a = {};
      a.longitude = i.split(",")[0];
      a.latitude = i.split(",")[1];
      finalArr.push(a);
      
    };
    console.log(finalArr,123456);
  })

miniprogram 获取两点之间的距离(经纬度)

miniprogram 获取两点之间的距离(经纬度)