多邊形
多邊形表示由閉合路徑(或環路)封閉的區域,由一系列坐標定義。Polygon
對象與 Polyline
對象類
似,因為它們都包含一系列有序的坐標。多邊形使用描邊和填充區繪制。您可以為多邊形邊緣(描邊)定義自定
義顏色、粗細和不透明度,以及為封閉區域(填充區)定義自定義顏色和不透明度。顏色應以十六進制 HTML 格
式表示。不支持顏色名稱。
Polygon
對象可描述復雜形狀,其中包括:
由單個多邊形定義的多個不連續區域
帶孔的區域
一個或多個區域的交集
如需定義復雜形狀,您需要使用包含多個路徑的多邊形。
由于多邊形區域可能包括幾個不同路徑,因此 Polygon
對象的 paths
屬性指定的是數組的數組,每個數組
的類型均為 MVCArray
。每個數組定義的都是不同的有序 LatLng
坐標序列。
對于只包括一個路徑的簡單多邊形,您可以利用單個 LatLng
坐標數組構建 Polygon
。構建時,Google Maps
JavaScript API 將在于 paths
屬性內存儲該簡單數組時將其轉換成數組的數組。API 為包括一個路徑的多
邊形提供了一個簡單的 getPath()
方法。
多邊形的 editable
屬性指定用戶是否可以編輯形狀。請參閱下文的用戶可編輯形狀。同理,您也可以通過設
置draggable
屬性來允許用戶拖動形狀。
以下代碼將顯示一個多邊形:
var pathLatLng=[{lat:33,lng:104},{lat:34,lng:114},{lat:28,lng:98}]
var testPath = new google.maps.Polygon({
path: pathLatLng,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2,
fillColor: '#FF0000',
fillOpacity: 0.35
});
testPath.setMap(map);
上例中的 Polygon
包含三組 LatLng
坐標,但請注意第一組坐標和最后一組坐標定義的位置不同。但在實
踐中,由于多邊形定義的是封閉區域,因此您無需定指定最后一組坐標。Google Maps JavaScript API 將通過
繪制一筆,將任何給定路徑的最后一個位置連回第一個位置,自動完成多邊形。
移除多邊形
如需移除地圖中的多邊形,請調用 setMap()
方法,并傳遞 null
作為其自變量。在下例
中,bermudaTriangle
是一個多邊形對象:
testPath.setMap(null);
請注意,以上方法不會刪除多邊形,而只是從地圖中移除多邊形。如果您實際上是想刪除多邊形,則應先將其從
地圖中移除,然后將多邊形本身設置為 null
。