iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 28
0
自我挑戰組

Kotlin and Android 30 days系列 第 28

Day 28 GoogleMap Polygons

今天學習如何在 Google Map 上畫多邊形

首先在開啟新專案的時候選擇 Google Maps Activity

載入完成後,會跳出一個提示頁 google_maps_key.xml,上面有網址引導你到啟用 API 的頁面

建立新專案後啟用 API,會得到一組金鑰
就可以把金鑰貼到剛剛的 google_maps_key.xml 下方 Tag 中

這時候嘗試執行 app ,如果金鑰有連結成功應該可以看到基本的地圖

錯誤可能會看到灰畫面

加上 Polygon

要繪製多邊形在地圖上,首先要做出 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)


上一篇
Day 27 Kotlin 的迴圈控制
下一篇
Day 29 Firebase Realtime Database
系列文
Kotlin and Android 30 days30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言