当前位置: 首页 > 面试题库 >

获取半径内的位置

阎枫涟
2023-03-14
问题内容

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

在一个Activity中,我实现了-
LocationListener,在onLocationChanged-method中,我需要显示距离从该侦听器接收到的位置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 */ 
                }


 类似资料:
  • 问题内容: 我有一个地理类型的SQL表列: 如何获得半径40公里范围内的所有事件?这可能吗? 谢谢你,米格尔 问题答案: 假设您具有要搜索的点的经度和纬度:

  • 我想知道位置是否在我的半径范围内。例如,我有我当前位置的“latlng”物体和我有一个更多的“latlng”物体,我想检查这两个物体是否在1km范围内?我该如何实现呢?

  • 我有文件夹在我的域名像example.com/photos. 我需要得到该文件夹的内容并打印具有特定名称的图片,如(可以是任何东西)。 我试过: 但它返回了一个错误 警告:斯堪的纳维亚(http://www.example.com/photos/):无法打开目录:未在/home/egiadog/public\u html/mobil/test中实现。php在线3 警告:scandir():(错误号

  • 我想使用一个精灵(圆形轮廓)来显示周围单位的范围。我正在使用 来检测碰撞。然而,我不知道我的精灵应该有多大才能匹配重叠圆圈的半径。也许最简单的方法是自己画一个圆圈?

  • 我需要给一个减去的圆添加一个圆形径向梯度。我一直在尝试,但我不能得到一个圆形渐变。 1:整圆2:整圆中的径向梯度3:减去圆4:减去圆中的圆形径向梯度试验(不是我想要的)5:减去圆中的圆形径向梯度。这就是我想要获得的。 一旦我得到减去的圆(3),我应用径向梯度,但我得到(4)而不是(5)。 我也尝试过改变x和y的值,但是我没有得到我想要的。

  • 问题: 给定n个半径为r1的圆...rn和位置p1...pn。该算法必须找到包含所有n个圆的最小半径的圆的半径和圆心。圆的位置和半径是固定的,所以不能移动。 圆圈的结构可以看起来像这样: 输入值:[c1...cn] (c圈) 输出值:c 图像示例: 我的想法: 如果我找到最远的两点之间的距离并将圆心放在这条直线的一半上,我就可以画出包含n个圆的最小圆,但是有可能其他圆与主圆的圆心之间的距离比最远的