Java-高德地图根据经纬度计算两坐标之间的直线距离
最近在做毕设项目,项目打卡需要用到高德地图,看了下高德地图计算两坐标距离的方法,官网上提供的开发包中也有相关的方法。
/**
*
* @author tangyong
* @date 2022/12/14 4:15 下午
* @param longitude 位置1经度
* @param latitude 位置1纬度
* @param latitude2 位置2经度
* @param latitude2 位置2纬度
*/
public float calculateLineDistance(double longitude, double latitude,double longitude2, double latitude2) {
double var2 = longitude;
double var4 = latitude;
double var6 = longitude2;
double var8 = latitude2;
var2 *= 0.01745329251994329D;
var4 *= 0.01745329251994329D;
var6 *= 0.01745329251994329D;
var8 *= 0.01745329251994329D;
double var10 = Math.sin(var2);
double var12 = Math.sin(var4);
double var14 = Math.cos(var2);
double var16 = Math.cos(var4);
double var18 = Math.sin(var6);
double var20 = Math.sin(var8);
double var22 = Math.cos(var6);
double var24 = Math.cos(var8);
double[] var27 = new double[3];
double[] var28 = new double[3];
var27[0] = var16 * var14;
var27[1] = var16 * var10;
var27[2] = var12;
var28[0] = var24 * var22;
var28[1] = var24 * var18;
var28[2] = var20;
return (float)(Math.asin(Math.sqrt((var27[0] - var28[0]) * (var27[0] - var28[0]) + (var27[1] - var28[1]) * (var27[1] - var28[1]) + (var27[2] - var28[2]) * (var27[2] - var28[2])) / 2.0D) * 1.27420015798544E7D);
}