siano wszystko .. Mam tabelę klientów w mojej bazie danych Android .. Obecnie używam persistance pokoju, szukam wziąć wszystkich moich klientów danych .. ale sekwencyjny od lokalizacji początkowej do najbliższej mnie w tej chwili .. jak zapytać o to mój przykład przypadku .. Moja obecna szerokość geograficzna wynosi -7,3530829, moja długość geograficzna wynosi obecnie 112,6901788
data in my customers table
customers.address = "Waterpark Boulevard Citraland Area
customers.handphone1 = "0857887328"
customers.latitude = -7.2864881
customers.longitude = 112.6525076
data in my customers table
customers.address = "Nature Conservation Area
customers.handphone1 = "0857887328"
customers.latitude = -7.3571553
customers.longitude = 112.6862058
data in my customers table
customers.address = "Kawasan Taman Pinang
customers.handphone1 = "0857887328"
customers.latitude =
-7.3403807
customers.longitude = 112.6914085
//get Data by Name,,
@Query("SELECT * FROM customers WHERE name = :name")
abstract fun findByName(name:String): MutableList<Customers>
//How to retrieve data based on the closest distance ?
@Query("SELECT ???")
abstract fun findByDistance(mylatitude:Double,mylongitude:Double): MutableList<Customers>
Proszę pomóż znaleźć zapytanie w FindByDistance
Odpowiedzi:
0 dla odpowiedzi № 1Znalazłem właściwe zapytanie, obliczając odległość prostą.
@Query("SELECT * FROM customers ORDER BY ABS(latitude - :latitude) + ABS(longitude - :longitude) ASC")
abstract fun findByDistance(latitude:Double,longitude:Double): MutableList<Customers>
Może to pomoże ci, którzy potrzebują tego samego co ja .. dziękuję ...