Расчет расстояния между несколькими геопозициями в Java - PullRequest
0 голосов
/ 12 января 2012

Мне было интересно, как правильно использовать метод Location.distanceBetween в Java, чтобы получить расстояние через несколько точек.

Скажем, у вас есть latitudeList и longitudeList, и вы будете использовать цикл for =, как использовать этот метод (эффективно)? Я, кажется, получаю неправильное значение расстояния.

Код, который я использую в настоящее время (он грязный, но, казалось, все в порядке):

float result = 0;
float[] resultList = new float[1];
for (int k = 0; k < latitudeList.size() - 1; k++)
{
    Location.distanceBetween(latitudeList.get(k), longitudeList.get(k), latitudeList.get(k+1), longitudeList.get(k + 1), resultList);                        
    result = result + resultList[0];
    resultList = new float[1];
}   

Что я сделал не так?

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 12 января 2012

почему ты делаешь ???

result = result+resultat[0] ???

пока ваше расстояние находится в resultList [0].

измените ваш код следующим образом

float result = 0;
float[] resultList = new float[1];
for (int k = 0; k < latitudeList.size() - 1; k++)
{
    Location.distanceBetween(latitudeList.get(k), longitudeList.get(k),           latitudeList.get(k+1), longitudeList.get(k + 1), resultList);                        
    result = result + resultList[0];

}   
...