GoogleMapsPlatformを使ってポリゴンを描画
コンテンツ
- ポリゴンを描画しての感想
- markerのmap描画
- polygonのmap描画
1. ポリゴンを描画しての感想
ポリゴンの描画に関して難しいところは無かった。 基本的にmarkerをmapに描画する要領でポリゴンデータを描画すれば良い、と捉えておけば良いだろう。
2.marker(point)のmap描画
比較対象として簡単にmarker(point)をmapに描画する方法を示す。
//まず表示したい画面にGoogleMapsのフラグメントを起動させる。 val map = SupportMapFragment.newInstance() fragmentManager!!.beginTransaction().add(R.id.frameLayoutCrearArticulo, map).commit() //フラグメント起動後に描画するために以下を記述する。 //これがないと onMapReadyを使えない。 map.getMapAsync(this) //markerを描画する override fun onMapReady(googleMap: GoogleMap) { val xela = LatLng(14.845833, -91.518889) googleMap.addMarker(MarkerOptions().position(xela)) }
marker描画の要点
- GoogleMapsをFragmentを起動するように起動する。
- marker(point)のオブジェクトをMarkerOptions()で生成する。なお、座標点を設定するメソッドとしてpositionメソッドを利用する。
- 生成したmarkerのオブジェクトを反映するためにGoogleMap#addMarker()メソッドを実行する。引数はmarkerのオブジェクトである。
3. polygonのmap描画
markerと同じ手続きを取ることでpolygonを描画する事ができる。
- GoogleMapsをFragmentを起動するように起動する。
- polygonのオブジェクトをPolygonOptions()で生成する。なお、polygonに含まれる座標点を設定するメソッドとしてaddメソッドを利用する。
- 生成したpolygonのオブジェクトを反映するためにGoogleMap#addPolygon()メソッドを実行する。引数はpolygonのオブジェクトである。
//まず表示したい画面にGoogleMapsのフラグメントを起動させる。 val map = SupportMapFragment.newInstance() fragmentManager!!.beginTransaction().add(R.id.frameLayoutCrearArticulo, map).commit() //フラグメント起動後に描画するために以下を記述する。 //これがないと onMapReadyを使えない。 map.getMapAsync(this) override fun onMapReady(googleMap: GoogleMap) { val rectOptions = PolygonOptions() .add(LatLng(37.35, -122.0), LatLng(37.45, -122.0), LatLng(37.45, -122.2), LatLng(37.35, -122.2), LatLng(37.35, -122.0)) googleMap.addPolygon(rectOptions) }