Java 计算坐标。谷歌地图
我有一些距离部分Java 计算坐标。谷歌地图,java,android,google-maps,coordinates,Java,Android,Google Maps,Coordinates,我有一些距离部分 int[] parts = [1823, 344, 2345, 1022, 2387, ...]; //in meters 我可以计算阵列中每个零件的结束/开始位置坐标。为此,我使用随机方位 int bearingRnd = new Random().nextInt(360); 这个公式呢 double dkm = parts[j]/1000.0; double dist = dkm/6371.0; double bearing = Math.toRadians(beari
int[] parts = [1823, 344, 2345, 1022, 2387, ...]; //in meters
我可以计算阵列中每个零件的结束/开始位置坐标。为此,我使用随机方位
int bearingRnd = new Random().nextInt(360);
这个公式呢
double dkm = parts[j]/1000.0;
double dist = dkm/6371.0;
double bearing = Math.toRadians(bearingRnd);
double firstLatitude = Math.toRadians(currentLat);
double firstLongitude = Math.toRadians(currentLng);
double secondLatitude = Math.asin(Math.sin(firstLatitude) * Math.cos(dist) + Math.cos(firstLatitude) * Math.sin(dist) * Math.cos(bearing));
double a = Math.atan2(Math.sin(bearing) * Math.sin(dist) * Math.cos(firstLatitude), Math.cos(dist) - Math.sin(firstLatitude) * Math.sin(secondLatitude));
double secondLongitude = firstLongitude + a;
secondLongitude = (secondLongitude + 3 * Math.PI) % (2 * Math.PI) - Math.PI;
double newLat = Math.toDegrees(secondLatitude);
double newLng = Math.toDegrees(secondLongitude);
但若我知道整个路径最后一个位置的坐标呢。如何控制轴承值以计算位置,从而使我的当前位置有一个开始和结束的圆?这是不可能的。想象你有100,50的距离。您无法创建返回起点的方向角,因为只有两条直线,而第二条直线是长度的一半,因此无法到达起点。你为什么要这么做?这是不可能的。想象你有100,50的距离。您无法创建返回起点的方向角,因为只有两条直线,而第二条直线是长度的一半,因此无法到达起点。你为什么要这么做?