Javascript 谷歌地图多边形

Javascript 谷歌地图多边形,javascript,google-maps,math,Javascript,Google Maps,Math,我有一个纵横坐标点,我正在谷歌地图上画一个多边形(六边形)。这是我计算六边形坐标的代码: for (var i = 0; i < 6; i++) { x = lat + r * Math.sin(i * 2 * Math.PI / 6); y = lng + r * Math.cos(i * 2 * Math.PI / 6); } for(变量i=0;i

我有一个纵横坐标点,我正在谷歌地图上画一个多边形(六边形)。这是我计算六边形坐标的代码:

for (var i = 0; i < 6; i++) {
    x =  lat + r * Math.sin(i * 2 * Math.PI / 6);
    y =  lng + r * Math.cos(i * 2 * Math.PI / 6);
}
for(变量i=0;i<6;i++){
x=lat+r*Math.sin(i*2*Math.PI/6);
y=lng+r*数学系数(i*2*数学系数/6);
}

这会计算一个正六边形中的所有坐标,如果它的中心接近(0 lat,0 long),我可以在地图上毫无问题地绘制它。问题是当我想把它画得远离(0,0)时,它会变成一个拉长的形状。我猜这是因为地球不是平的,谷歌地图考虑到了这一点。所以我可能需要在我的计算中改变半径来反映这一点,有人知道它是如何做到的吗?

远离(0,0)的各种正多边形的距离。

远离(0,0)的距离有多远?在那种情况下,实际数字是什么样子的?我只试过(46,23)。我没有看实际的数字,我只是看到六边形的形状不像它应该的那样规则,因为坐标计算正确(基于这里接受的答案)。谢谢。你能告诉我这算什么吗:
vard=2*25000*Math.cos(Math.PI/6)?请参阅关于eshapes的。它是六边形网格中六边形中心之间的距离。