我有一个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