Ziemia nie jest kulą ale najpewniej na tym wzorze się skoczy, bo już mam dość funkcji trygonometrycznych.
---------- Post added at 11:44 ---------- Previous post was at 09:55 ----------
Kurcze, też nie działa jak powinno, czy coś źle robię?
/**
* Oblicza odlekłość w linii prostej w kilometrach pomiędzy punktami
* @param pktA
* @param pktB
* @return
*/
public static double ObliczOdlegloscWLiniiProstejDouble(LatLng pktA, LatLng pktB) {
double szerA = pktA.latitude;
double dlA = pktA.longitude;
double szerB = pktB.latitude;
double dlB = pktB.longitude;
// http://pl.wikipedia.org/wiki/Ortodroma
double odleglosc = Math.acos(
(Math.sin(szerA) * Math.sin(szerB)) +
(Math.cos(szerA) * Math.cos(szerB) * Math.cos(dlA - dlB))
)
* 111.195;
odleglosc = (Math.round(odleglosc*10)) / 10;
return odleglosc;
} //ObliczOdlegloscWLiniiProstejDouble()