2012-06-29 201 views
0

我有一個緯度/長度的座標點,我正在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,0)'你必須去得到一個問題?這種情況下的實際數字是什麼樣的? – AakashM

+0

我只試過(46,23)。我沒有看到實際的數字,我剛纔看到六角形的形狀不規則,因爲它應該是因爲座標計算正確(基於這裏接受的答案)。 – slash197

回答

1

各種正多邊形Examples遠(0,0)

+0

謝謝。你能告訴我這是什麼計算:'var d = 2 * 25000 * Math.cos(Math.PI/6);'? – slash197

+0

請參閱eshapes上的「文檔」(http://econym.org.uk/gmap/eshapes.htm)。它是六邊形網格中六邊形中心之間的距離。 – geocodezip