gpt4 book ai didi

android - 获取半径内的位置

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:51 25 4
gpt4 key购买 nike

我在一个数据库中存储了大约 500 条记录,每条记录都有一个纬度和一个经度。

在一个 Activity 中,我实现了一个 LocationListener,在 onLocationChanged 方法中,我需要显示从接收到的位置起 XX 米半径范围内的记录听众。

有没有一种(简单的)方法可以用 SQL 或 Java 来做到这一点?

最佳答案

试试这个示例代码,

rs = st.executeQuery("SELECT longititude,latitude FROM  location");
while (rs.next()) {
double venueLat =rs.getDouble("latitude");
double venueLng = rs.getDouble("longititude");

double latDistance = Math.toRadians(userLat - venueLat);
double lngDistance = Math.toRadians(userLng - venueLng);
double a = (Math.sin(latDistance / 2) * Math.sin(latDistance / 2)) +
(Math.cos(Math.toRadians(userLat))) *
(Math.cos(Math.toRadians(venueLat))) *
(Math.sin(lngDistance / 2)) *
(Math.sin(lngDistance / 2));

double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));

double dist = 6371 * c;
if (dist<50){
/* Include your code here to display your records */
}

关于android - 获取半径内的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com