找到特定半径下的所有纬度/经度

时间:2015-04-11 15:17:46

标签: math gps geospatial latitude-longitude spatial

我有一组lat / long,它们存储在数据库中,我必须找到数据库中所有的lat / long,它们位于给定的lat / long(例如latitude = 37.4224764,and longitude=-122.0842499)和给定半径之间(比如说) 5英里)。为此,我需要做一些加法和减法,如:

37.4224764 + 5mile 37.4224764 - 5mile

-122.0842499+5mile -122.0842499-5mile 但我不知道转换是如何运作的。

1 个答案:

答案 0 :(得分:0)

您的要求有点模糊,您是否只想找到距离您当前位置一定距离的点的坐标?或者在坐标周围得到一个特定距离半径的圆?或者从坐标到特定距离的另一个点绘制一定长度的线?

我认为您可能想要使用Geometry spherical library,例如

var latLng = new google.maps.LatLng(geometry.location.lat, geometry.location.lng);

var newLatLng = google.maps.geometry.spherical.computeOffset(
    latLng,
    1000, 
    0
);

另见https://developers.google.com/maps/documentation/javascript/geometry#Distance

PS:加载地图时需要添加几何库参数:

<script src="https://maps.googleapis.com/maps/api/js?v=3&libraries=geometry"></script>