今天學習如何在 Google Map 上畫多邊形
首先在開啟新專案的時候選擇 Google Maps Activity
載入完成後,會跳出一個提示頁 google_maps_key.xml,上面有網址引導你到啟用 API 的頁面
建立新專案後啟用 API,會得到一組金鑰
就可以把金鑰貼到剛剛的 google_maps_key.xml 下方 Tag 中
這時候嘗試執行 app ,如果金鑰有連結成功應該可以看到基本的地圖
錯誤可能會看到灰畫面
要繪製多邊形在地圖上,首先要做出 PolygonOptions
以下程式碼放在 onMapReady 方法中
val polygonOptions = PolygonOptions()
接著設定要畫線的點,在地圖上也就是用緯經度來表示
polygonOptions.add(LatLng(-31.2, 154.9))
polygonOptions.add(LatLng(-30.0, 142.2))
polygonOptions.add(LatLng(-36.1, 142.1))
polygonOptions.add(LatLng(-35.6, 154.8))
這裡要注意 Latitude 是緯度,Longitude 是經度,LatLng 是 api 提供的類別
設定筆刷大小以及顏色
polygonOptions.strokeWidth(5f)
polygonOptions.strokeColor(Color.rgb(0, 163, 11))
polygonOptions.fillColor(Color.argb(100, 0, 224, 15))
由於我們都是對 polygonOptions 物件做操作,在 Kotlin 語言中還可以這樣寫:
val polygonOptions = PolygonOptions().apply {
add(LatLng(-31.2, 154.9))
add(LatLng(-30.0, 142.2))
add(LatLng(-36.1, 142.1))
add(LatLng(-35.6, 154.8))
strokeWidth(5f)
strokeColor(Color.rgb(0, 163, 11))
fillColor(Color.argb(100, 0, 224, 15))
}
最後使用 Map.addPolygon() 方法加上設定選項即可
val polygon = mMap.addPolygon(polygonOptions)