緯度/経度の座標点があり、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 マップがそれを考慮に入れているためだと思います。したがって、これを反映するには、おそらく計算で半径を変更する必要があります。