在一个数据库中,我存储了大约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个圆的最小圆,但是有可能其他圆与主圆的圆心之间的距离比最远的