地図にポリゴンを追加する

プラットフォームを選択: Android iOS

3D 地図上のポリゴン

次のコードサンプルは、3D ポリゴンを追加し、addPolygon メソッドを呼び出して 3D 空間に配置する方法を示しています。このコードサンプルを使用するには、設定アプリに 3D 地図を追加するの手順に沿って、基本的な 3D 地図を使用して Android Studio プロジェクトを設定します。次に、MainActivity.kt ファイルに次のコードを追加します。

// Add imports and define variables
import com.google.android.gms.maps3d.model.LatLngAltitude
import com.google.android.gms.maps3d.model.polygonOptions

val zooOutline = """
    39.7508987, -104.9565381
    39.7502883, -104.9565489
    39.7501976, -104.9563557
    39.7501481, -104.955594
    39.7499171, -104.9553043
    39.7495872, -104.9551648
    39.7492407, -104.954961
    39.7489685, -104.9548859
    39.7484488, -104.9548966
    39.7481189, -104.9548859
    39.7479539, -104.9547679
    39.7479209, -104.9544567
    39.7476487, -104.9535341
    39.7475085, -104.9525792
    39.7474095, -104.9519247
    39.747525, -104.9513776
    39.7476734, -104.9511844
    39.7478137, -104.9506265
    39.7477559, -104.9496395
    39.7477477, -104.9486203
    39.7478467, -104.9475796
    39.7482344, -104.9465818
    39.7486138, -104.9457878
    39.7491005, -104.9454874
    39.7495789, -104.945938
    39.7500491, -104.9466998
    39.7503213, -104.9474615
    39.7505358, -104.9486954
    39.7505111, -104.950648
    39.7511215, -104.9506587
    39.7511173, -104.9527187
    39.7511091, -104.9546445
    39.7508987, -104.9565381""".trimIndent()
        .split("\n")
        .map { line -> line.split(",").map { it.trim().toDouble() } }
        .map { coords ->
            latLngAltitude {
                latitude = coords[0]
                longitude = coords[1]
                altitude = 0.0
            }
        }

val zooPolygonOptions = polygonOptions {
    outerCoordinates = zooOutline
    fillColor = Color.argb(70, 255, 255, 0)
    strokeColor = Color.GREEN
    strokeWidth = 3.0
    altitudeMode = AltitudeMode.CLAMP_TO_GROUND
}

val zooPolygon = googleMap3D.addPolygon(zooPolygonOptions)

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 39.748477
            longitude = -104.947575
            altitude = 1610.0
        }
        heading = 290.0
        tilt = 47.0
        range = 2251.0
    }
)