gpt4 book ai didi

Android Location.distanceTo(...) 和 Location.bearingTo(...) 没有返回正确的结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:50:16 28 4
gpt4 key购买 nike

我已经看过很多关于此的帖子,所以请不要将其标记为重复,因为它不是。

所以运行下面的代码:

private void testLocation(){
double currentLat = 51.43376;
double currentLng = -2.86221;

double destLat = 51.43503;
double destLng = -2.86869;

final float[] results= new float[3];
Location.distanceBetween(currentLat, currentLng, destLat, destLng, results);
Log.d("GPS", "results[0]: " + results[0]);
Log.d("GPS", "results[1]: " + results[1]);
Log.d("GPS", "results[2]: " + results[2]);


Location here = new Location("Current");
here.setLatitude(currentLat);
here.setLatitude(currentLng);

Location dest = new Location("Destination2");
dest.setLatitude(destLat);
dest.setLongitude(destLng);


Log.d("GPS", "Bearing to dest: " + here.bearingTo(dest));
Log.d("GPS", "Distance to dest: " + here.distanceTo(dest));
}

输出是:

04-19 13:39:55.850: D/GPS(12398): results[0]: 472.2533
04-19 13:39:55.860: D/GPS(12398): results[1]: -72.5882
04-19 13:39:55.860: D/GPS(12398): results[2]: -72.59327
04-19 13:39:55.860: D/GPS(12398): Bearing to dest: 120.83207
04-19 13:39:55.860: D/GPS(12398): Distance to dest: 7893878.5

正确的值应该是: 距离 472.2533(因此 results[0] 是正确的)。 方位285.454度

所以我不知道 results[1] 和 results[2] 给出了什么。而且 bearingTo 和 distanceTo 都给出了完全错误的答案。

这意味着我一定做错了什么。谁能帮忙。通常,我要做的就是计算目标点与当前位置点的距离和方向。如果有人有比上面显示的更好的方法,或者知道我做错了什么,请提供帮助。

谢谢亚当

最佳答案

The computed distance is stored in results[0]. If results has length 2 or greater, the initial bearing is stored in results[1]. If results has length 3 or greater, the final bearing is stored in results[2] - docs

您在这里使用两个不同的值设置了两次纬度:

here.setLatitude(currentLat);
here.setLatitude(currentLng);

你在这里混淆了纬度/经度值:

dest.setLongitude(destLat);
dest.setLatitude(destLng);

检查是否能解决您的问题

计算距离和方位的两种方法应该产生相同的结果,因为计算这些结果的方法相同。看the source code of the SDK .

关于Android Location.distanceTo(...) 和 Location.bearingTo(...) 没有返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105464/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com