我在Map上有4个点(纬度,经度),可以有更多的。我需要在这些点之间建立一个10公里宽的mysql多边形。正如你从图片上看到的-我有一条蓝线,我需要一个多边形(绿色轮廓)。
我的第一个想法是为每个给定的点创建两个独立的点。例如:
第1分(不来梅)
向右算5公里加一分,向左算5公里加一分。
逻辑很简单。但问题是-我不知道该怎么计算(右,上,下,左),我需要某种Angular ,但我被困在这里。
我只需要一个算法,不需要完整的代码示例。
我尝试的javascript函数:
var meters = 10000 / 2;
var my_lat = 52.51978;
var my_long = 13.388211;
// number of km per degree = ~111km (111.32 in google maps, but range varies
/* between 110.567km at the equator and 111.699km at the poles) */
// 1km in degree = 1 / 111.32km = 0.0089
// 1m in degree = 0.0089 / 1000 = 0.0000089
var coef = meters * 0.0000089;
var new_lat = my_lat + coef;
// pi / 180 = 0.018
var new_long = my_long - coef / Math.cos(my_lat * 0.018);
暂无答案!
目前还没有任何答案,快来回答吧!