我有一个纬度/经度坐标点,我正在Google地图上绘制一个多边形(六边形)。这是我计算六边形坐标的代码:
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);
}
这会计算正六边形中的所有坐标,如果它的中心靠近(0纬度,0长),我可以在地图上绘制它而没有问题。问题是当我想要远离(0,0)绘制它时,它会变成细长的形状。我猜这是因为地球并不平坦,Google地图也考虑到了这一点。所以我可能需要在计算中改变半径以反映这一点,有人知道它是如何完成的吗?