Menghitung Jarak Antara Dua Lokasi di Android
Contoh koding untuk menghitung jarak antara dua lokasi di Android
Jarak yang dihitung merupakan jarak dengan garis lurus antara dua koordinat (lokasi) latitude longitude, jadi bukan jarak rute (mobil) seperti di Google Maps
public static float calculateDistance(double startLatitude, double startLongitude,
double endLatitude, double endLongitude) {
Location startPoint = new Location("startPoint");
startPoint.setLatitude(startLatitude);
startPoint.setLongitude(startLongitude);
Location endPoint = new Location("endPoint");
endPoint.setLatitude(endLatitude);
endPoint.setLongitude(endLongitude);
// Menghitung jarak antara dua lokasi dalam satuan meter
float distanceInMeters = startPoint.distanceTo(endPoint);
// Konversi kedalam satuan kilometer
// 1 kilometer = 1000 meter
return distanceInMeters / 1000;
}
- Panggil fungsi dan input kedua lokasi latitude dan longitude, output nya berupa jarak dalam km
Tambahan fungsi untuk mengetahui apakah jaraknya masuk kedalam jangkauan (range)
public static boolean isWithinRange(double startLatitude, double startLongitude,
double endLatitude, double endLongitude) {
float distance = calculateDistance(startLatitude, startLongitude, endLatitude, endLongitude);
return distance <= 2;
}
- Fungsi ini akan melakukan pengecekan apakah jarak antara dua lokasi masuk kedalam range 2 km
- Output nya berupa
true
/false