Dodawanie wielokąta do mapy
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Wybierz platformę:
Android
iOS
Poniższy przykładowy kod pokazuje, jak dodać wielokąt 3D i umieścić go w przestrzeni 3D, wywołując metodę addPolygon
. Aby użyć tego przykładowego kodu, postępuj zgodnie z instrukcjami w sekcjach Konfiguracja i Dodawanie mapy 3D do aplikacji, aby skonfigurować projekt Android Studio z podstawową mapą 3D. Następnie dodaj ten kod do pliku 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
}
)
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-31 UTC.
[null,null,["Ostatnia aktualizacja: 2025-08-31 UTC."],[],[],null,["# Add a polygon to a map\n\nSelect platform: [Android](/maps/documentation/maps-3d/android-sdk/add-polygons \"View this page for the Android platform docs.\") [iOS](/maps/documentation/maps-3d/ios-sdk/add-polygons \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\n| This product or feature is Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the [Google\n| Maps Platform Service Specific Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms). For more information, see the [launch stage descriptions](/maps/launch-stages).\n\nThe following code sample demonstrates how to add a 3D polygon and position\nit in 3D space by calling the\n[`addPolygon`](/maps/documentation/maps-3d/android-sdk/reference/com/google/android/gms/maps3d/GoogleMap3D#addPolygon(com.google.android.gms.maps3d.model.PolygonOptions))\nmethod. To use this code sample, follow the instructions in\n[Setup](/maps/documentation/maps-3d/android-sdk/setup) and\n[Add a 3D map to your app](/maps/documentation/maps-3d/android-sdk/add-a-3d-map)\nto set up your Android Studio project with a basic 3D map. Then, add the following code to the\n**`MainActivity.kt`** file: \n\n```kotlin\n// Add imports and define variables\nimport com.google.android.gms.maps3d.model.LatLngAltitude\nimport com.google.android.gms.maps3d.model.polygonOptions\n\nval zooOutline = \"\"\"\n 39.7508987, -104.9565381\n 39.7502883, -104.9565489\n 39.7501976, -104.9563557\n 39.7501481, -104.955594\n 39.7499171, -104.9553043\n 39.7495872, -104.9551648\n 39.7492407, -104.954961\n 39.7489685, -104.9548859\n 39.7484488, -104.9548966\n 39.7481189, -104.9548859\n 39.7479539, -104.9547679\n 39.7479209, -104.9544567\n 39.7476487, -104.9535341\n 39.7475085, -104.9525792\n 39.7474095, -104.9519247\n 39.747525, -104.9513776\n 39.7476734, -104.9511844\n 39.7478137, -104.9506265\n 39.7477559, -104.9496395\n 39.7477477, -104.9486203\n 39.7478467, -104.9475796\n 39.7482344, -104.9465818\n 39.7486138, -104.9457878\n 39.7491005, -104.9454874\n 39.7495789, -104.945938\n 39.7500491, -104.9466998\n 39.7503213, -104.9474615\n 39.7505358, -104.9486954\n 39.7505111, -104.950648\n 39.7511215, -104.9506587\n 39.7511173, -104.9527187\n 39.7511091, -104.9546445\n 39.7508987, -104.9565381\"\"\".trimIndent()\n .split(\"\\n\")\n .map { line -\u003e line.split(\",\").map { it.trim().toDouble() } }\n .map { coords -\u003e\n latLngAltitude {\n latitude = coords[0]\n longitude = coords[1]\n altitude = 0.0\n }\n }\n\nval zooPolygonOptions = polygonOptions {\n outerCoordinates = zooOutline\n fillColor = Color.argb(70, 255, 255, 0)\n strokeColor = Color.GREEN\n strokeWidth = 3.0\n altitudeMode = AltitudeMode.CLAMP_TO_GROUND\n}\n\nval zooPolygon = googleMap3D.addPolygon(zooPolygonOptions)\n\n...\n\n// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized\ngoogleMap3D.setCamera(\n camera {\n center = latLngAltitude {\n latitude = 39.748477\n longitude = -104.947575\n altitude = 1610.0\n }\n heading = 290.0\n tilt = 47.0\n range = 2251.0\n }\n)\n```"]]