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