Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 计算坐标。谷歌地图_Java_Android_Google Maps_Coordinates - Fatal编程技术网

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的距离。您无法创建返回起点的方向角,因为只有两条直线,而第二条直线是长度的一半,因此无法到达起点。你为什么要这么做?