我有一组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
但我不知道转换是如何运作的。
答案 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>