Расстояние и подшипничество между двумя геопоисками в Android
-
21-12-2019 - |
Вопрос
Я пытаюсь рассчитать расстояние и подшипничество между двумя геоподъемными.Это код, который я нашел в Интернете, но он возвращает разные значения.
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);
System.out.println("GPS" + "results[0]: " + results[0]);
System.out.println("GPS" + "results[1]: " + results[1]);
System.out.println("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);
System.out.println("GPS" + "Bearing to dest: " + here.bearingTo(dest));
System.out.println("GPS" + "Distance to dest: " + here.distanceTo(dest));
.
logcat:
04-13 17:46:13.056: I/System.out(1349): GPSresults[0]: 472.2533
04-13 17:46:13.056: I/System.out(1349): GPSresults[1]: -72.5882
04-13 17:46:13.066: I/System.out(1349): GPSresults[2]: -72.59327
04-13 17:46:13.066: I/System.out(1349): GPSBearing to dest: -2.2131138
04-13 17:46:13.066: I/System.out(1349): GPSDistance to dest: 6023135.0
.
Так можно помочь мне с этими методами и сказать мне, какой из них является правильным использованием. Спасибо
Решение
В вашем коде:
Location here = new Location("Current");
here.setLatitude(currentLat);
here.setLatitude(currentLng);
.
Вы установили широту дважды.Исправлено, он дает абсолютно правильный результат.
Не связан с StackOverflow