我有一个SQLITE数据库,它将地点的坐标存储为浮点数。
PLACE TABLE
--------------------------------
placeID | latitude | longitude
--------------------------------
1 | XX.XXXXXX| YY.YYYYYY
2 | X1.XXXXXX| Y1.YYYYYY
让我们说我站在一个特定坐标(纬度和经度)的地方。
我想找到我身边1公里处的所有地方(一圈)。
1)如何将仪表转换为坐标?
2)如何从数据库中获取距离我1公里的所有地方? 因为我想将坐标添加到坐标。
这可能吗?
先谢谢
答案 0 :(得分:2)
只需使用API的distanceTo()或distanceBetween(lat1,lon1,lat2,lon2)函数。
如果您没有这样的方法,那么搜索haversine
公式。
如果您与物体之间的距离为< = x,那么该位置位于您周围x厘米的c漩涡内。
在代码中:
double radius = 1000; // 1 km
double distanceMeters = haversineDistance(mylat, mylon, otherLat, otherLon);
if (distanceeMeters <= radius) {
// other location (otherLat, otherfLOn) is inside of radius of 1km
}