我有一个Android应用程序,其中包含一些地理参考地点,我可以全部显示它们或对特定地点进行查询,但我想咨询那些在距离我的位置1公里半径内的附近。 我认为使用了介于两者之间,但我不知道该怎么做。
criaderosMap = criaderoDao.queryBuilder()
.where(CtlPlCriaderoDao.Properties.Latitud.isNotNull()).list();
它与:
select * from ctlCriadero where latitud is no null
您可以自己构造查询。下面是其中一个示例。
select
latitud ,
longitude,
( 3959 * acos( cos( radians(37) )
* cos( radians( latitud ) )
* cos( radians( longitude) - radians(YourLongitude) )
+ sin( radians(YourLatitude) ) * sin( radians( latitud ) )
)
) AS distance
FROM
ctlCriadero
HAVING
distance < 1000
ORDER BY
distance
LIMIT
0 , 50
信用:@daroczig