//距离计算工具类 function rad(d) { return d * Math.PI / 180.0; } // 根据经纬度计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度 function getDistances(lat1, lng1, lat2, lng2) { var radLat1 = rad(lat1); var radLat2 = rad(lat2); var a = radLat1 - radLat2; var b = rad(lng1) - 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 * 10000) / 10000; var distance = s; var distance_str = ""; // 按米来统计距离 // distance_str = (distance * 1000).toFixed(2) + "m"; distance_str = (distance * 1000).toFixed(2); // if (parseInt(distance) >= 1) { // // distance_str = distance.toFixed(1) + "km"; // distance_str = distance.toFixed(2) + "km"; // } else { // // distance_str = distance * 1000 + "m"; // distance_str = (distance * 1000).toFixed(2) + "m"; // } //s=s.toFixed(4); // console.info('距离是', s); // console.info('距离是', distance_str); // return s; //小小修改,这里返回对象 let objData = { distance_km: distance, distance_m: parseFloat(distance_str) } return objData } // 返回离球机坐标最近的杆塔位置 function getShortTower(objArr) { const maxDataNum = Math.min.apply(null, objArr.map(item => { // console.log(item.age) return item.distance } )) const maxData = objArr.find(item => maxDataNum === item.distance); console.log(maxData) return maxData; } // 距离比较 function compareDistance(max, min, value) { console.log(max); console.log(min); console.log(value); if (value && max && min) { if (value >= min && value <= max) { return true; } } return false; }