/ / como recuperar dados com base na distância mais próxima em persistência de quarto [duplicado] - android, sqlite, kotlin, localização, quarto android

como recuperar dados com base na distância mais próxima em persistência quarto [duplicado] - android, sqlite, kotlin, localização, quarto android

feno tudo .. Eu tenho uma tabela de clientes no meu banco de dados Android .. Eu estou usando atualmente persistência quarto, eu estou olhando para levar todos os meus dados de clientes ... mas sequencial do local de partida para mais próximo de mim no momento .. como consultar para o meu exemplo de caso .. Minha latitude atual é -7,3530829, minha longitude é atualmente 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>

por favor ajude a encontrar a consulta de distância.

Respostas:

0 para resposta № 1

Eu encontrei a consulta certa calculando a distância direta.

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

Talvez isso possa ajudar você que precisa da mesma coisa que eu .. obrigada ..