/ / come recuperare i dati in base alla distanza più vicina nella persistenza della stanza [duplicato] - android, sqlite, kotlin, posizione, android-room

come recuperare i dati in base alla distanza più vicina nella persistenza della stanza [duplicato] - android, sqlite, kotlin, posizione, android-room

fieno tutto .. Ho una tabella clienti nel mio database Android. Attualmente sto usando la persistenza della stanza, sto cercando di prendere tutti i dati dei miei clienti .. ma sequenziale dalla posizione di partenza a quella più vicina al momento .. come interrogare per il mio esempio di caso .. La mia attuale latitudine è -7.3530829, la mia longitudine è attualmente 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>

per favore aiutatemi a trovareByDistance query ..

risposte:

0 per risposta № 1

Ho trovato la query giusta calcolando la distanza rettilinea ..

@Query("SELECT * FROM customers ORDER BY ABS(latitude - :latitude) + ABS(longitude - :longitude) ASC")
abstract fun findByDistance(latitude:Double,longitude:Double): MutableList<Customers>

Forse questo può aiutarti chi ha bisogno della stessa cosa di me .. grazie ..