首页 > 解决方案 > 使用 android 获取我附近的地理参考点

问题描述

我有一个 android 应用程序,其中包含一些地理参考位置,我可以将它们全部显示或对特定位置进行查询,但我想咨询距离我所在位置 1 公里半径范围内的那些。我认为使用了一个 between,但我不知道该怎么做。

criaderosMap = criaderoDao.queryBuilder()
            .where(CtlPlCriaderoDao.Properties.Latitud.isNotNull()).list();

它与以下内容相同:

select * from ctlCriadero where latitud is no null

标签: androidgoogle-mapsandroid-mapviewandroid-maps

解决方案


您可以自己构建查询。以下是示例之一。

    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


推荐阅读