android - 使用 android 获取我附近的地理参考点
问题描述
我有一个 android 应用程序,其中包含一些地理参考位置,我可以将它们全部显示或对特定位置进行查询,但我想咨询距离我所在位置 1 公里半径范围内的那些。我认为使用了一个 between,但我不知道该怎么做。
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
推荐阅读
- flutter - 在 Flutter 中的 TextField 下显示错误
- swift - 在 MacOS 上无法识别 CallBackURL
- google-data-studio - 记分卡图表如何使用日期,datastudio
- typescript - 你能从Typescript中的嵌套对象值创建一个类型吗
- html - 为什么引导程序没有正确对齐单元格?
- python - /change-password/ 处的 ValueError 视图 authapp.views.ChangePassword 未返回 HttpResponse 对象。它返回 None 而不是
- google-chrome-devtools - chrome dev tools perf 面板中的单帧中有两张图片
- python - 如何设置具有大量类别的熊猫组的散景箱形图的初始缩放
- escaping - printf 忽略转义序列
- java - 如何从 Java 类调用 Kotlin 类