Jestem nowo i obecnie uczeniem się o programie Kotlin i Android Chcę dokonać aplikacji, która porównuje i wykrywa, który między dwiema rzeczami, które bliżej mnie, a porównana rzecz jest na przykład dwie różne franczyzy McDonald oparte na lokalizacji Google Mapa , Nie mam pojęcia, jak mam to zbudować, czy możesz pomóc mi zidentyfikować, jakiego rodzaju technologii nadaje się do mojego projektu szkoły? Dziękuję Ci :)

-2
Rasyid Hafiz 13 marzec 2021, 15:41

1 odpowiedź

Najlepsza odpowiedź

Możesz pobrać lokalizację dwóch punktów i użyć tej metody, aby porównać odległość między każdym punktem z bieżącą lokalizacją

Następnie wybierz mniejszy

    private fun calculationByDistance(location: Location, EndP: Location): Double {
        val Radius = 6371 // radius of earth in Km
        val lat1 = location.latitude
        val lat2: Double = EndP.latitude
        val lon1 = location.longitude
        val lon2: Double = EndP.longitude
        val dLat = Math.toRadians(lat2 - lat1)
        val dLon = Math.toRadians(lon2 - lon1)
        val a = (Math.sin(dLat / 2) * Math.sin(dLat / 2)
                + (Math.cos(Math.toRadians(lat1))
                * Math.cos(Math.toRadians(lat2)) * Math.sin(dLon / 2)
                * Math.sin(dLon / 2)))
        val c = 2 * Math.asin(Math.sqrt(a))
        val valueResult = Radius * c
        val km = valueResult / 1
        val newFormat = DecimalFormat("####")
        val kmInDec = Integer.valueOf(newFormat.format(km))
        val meter = valueResult % 1000
        val meterInDec = Integer.valueOf(newFormat.format(meter))
        Log.i("Radius Value", "" + valueResult + "   KM  " + kmInDec
                + " Meter   " + meterInDec)
        return Radius * c
    }

Możesz uzyskać bieżącą lokalizację, wykonując tę dokumentację jej

0
Dharman 13 marzec 2021, 13:11