2013-01-07 80 views
3

我注意到當繪圖管理器繪製多邊形時,他們沒有關閉(即沒有座標爲第一個最後一個點)..我知道Google Maps API v3會自動關閉多邊形,但Google Earth,Google靜態地圖API或任何其他軟件,我嘗試將數據導入到..多邊形不封閉

我的問題是,我使用幾何庫保存編碼的多邊形..有沒有什麼辦法將第一個點的副本推到最後在編碼之前的疊加對象中?

我的工作是getPaths()。getArray()到我自己的數組,使複製,然後使用JavaScript庫來編碼哪些工作正常,但是是很多代碼..只是想知道是否有一個更容易辦法?

回答

4

像這樣的東西應該添加多邊形的第一個點到MVCArrry(未測試)的末尾。

myPoly.getPath().push(getPath().getAt(0)); 

(假設有一個路徑一個簡單的多邊形,getPath返回第一個路徑)

+0

完美!我不知道你可以這樣.. .. :)結束了得到一個臨時變量的路徑,然後推動.. tmp = mapOverlays [i] .getPath()。getAt(0); \t \t \t mapOverlays [i] .getPath()。push(tmp); – Dennis

+0

@丹尼斯。 V3多邊形違反行業標準(例如OGC)。注意事例(2)的行爲與(1)和(3)不同。 (1)新繪製的V3多邊形*缺少路徑中的閉合頂點。 (2)未經編輯的導入的V2多邊形(關閉頂點)*保留*關閉頂點的路徑。 (3)如果編輯了導入的V2多邊形*缺少*路徑中的閉合頂點。 (4)我沒有測試google.maps有關環形方向的標準:逆時針外環,順時針內環。注意幾何體/地理庫具有糾正無效環定向的功能。 – subsci