Ajouter un polygone à une carte

Sélectionnez une plate-forme : Android iOS

Polygones sur une carte 3D

L'exemple de code suivant montre comment ajouter un polygone 3D et le positionner dans l'espace 3D en appelant la méthode addPolygon. Pour utiliser cet exemple de code, suivez les instructions de Configuration et Ajouter une carte 3D à votre application pour configurer votre projet Android Studio avec une carte 3D de base. Ajoutez ensuite le code suivant au fichier 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
    }
)