【问题标题】:Google Maps polygon谷歌地图多边形
【发布时间】:2012-07-01 02:47:03
【问题描述】:

我有一个纬度/经度坐标点,我正在 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) 画出来时,它会变成一个细长的形状。我猜这是因为地球不是平的,谷歌地图考虑到了这一点。所以我可能需要在计算中更改半径以反映这一点,有人知道它是如何完成的吗?

【问题讨论】:

  • 距离(0,0) 多远才能解决问题?在这种情况下,实际数字是什么样的?
  • 我只试过 (46, 23)。我没有查看实际数字,我只是看到六边形的形状不规则,因为坐标计算正确(基于 SO 上接受的答案)。

标签: javascript google-maps math


【解决方案1】:

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

【讨论】:

  • 谢谢。你能告诉我这是怎么计算的吗:var d = 2 * 25000 * Math.cos(Math.PI / 6);?
  • 在 eshapes 上查看 the "documentation"。它是六边形网格中六边形中心之间的距离。
猜你喜欢
  • 1970-01-01
  • 2011-12-03
  • 2012-06-15
  • 1970-01-01
  • 2013-02-03
  • 2012-09-12
  • 2011-07-15
  • 2016-08-10
相关资源
最近更新 更多