distanceTo () возвращает расстояние не в метрах! - PullRequest
2 голосов
/ 01 ноября 2010

Я реализую приложение для поиска ближайших локальных объектов из базы данных GPS-координат.

Я использую функцию Location class distanceTo(), чтобы вычислить расстояние между двумя местоположениями, текущим и одним избаза данных.

currentloc.setLatitude(loc.getLatitude());
currentloc.setLongitude(loc.getLongitude());

dbcurrent.setLatitude(C.getDouble(latindex));
dbcurrent.setLongitude(C.getDouble(lonindex));
distance = currentloc.distanceTo(dbcurrent);

это нормально работает, и я могу использовать это расстояние для вычисления близости в остальной части моего приложения, но это расстояние само по себе не в метрах, я получаю результат, как 4134801.4 яубедитесь, что расстояние составляет 3200 метров в этом случае.

Есть ли какое-либо объяснение или решение для этой проблемы.

спасибо всем.

1 Ответ

0 голосов
/ 12 июля 2013

distanceTo() работают правильно, это ваша вина. Такие большие расстояния могут произойти, если вы предоставите (0,0) как другую точку.

...