给定lat/lng坐标,计算10 km区域的最小和最大lat/lng值

Ger*_*Ger 6 google-maps latitude-longitude

假设我有一个lat lng坐标,我想把它放在一个10km宽的正方形的中心,然后得到最小的lat/lng和最大的lat/lng.

有没有一种简单的方法可以做到这一点已经存在?

Igo*_* F. 16

如果它不需要精确,那很容易:

对于纬度,1 km是0.009度(遵循仪表的原始定义).由于您的广场距离中心5公里,您只需要从中心点加上和减去0.045度.

对于经度,它稍微复杂一些:将上述值除以纬度的余弦值.

在代码中:

lat_min = lat_center - 0.045;
lat_max = lat_center + 0.045;
long_min = long_center - (0.045 / Math.cos(lat_center*Math.PI/180);
long_max = long_center + (0.045 / Math.cos(lat_center*Math.PI/180);
Run Code Online (Sandbox Code Playgroud)

(Math.PI/180需要将度数转换为弧度).

注意:不能在极地周围工作.