यहां दिए गए कोड के सैंपल में, addPolygon तरीके को कॉल करके, 3D पॉलीगॉन जोड़ने और उसे 3D स्पेस में रखने का तरीका बताया गया है. इस कोड सैंपल का इस्तेमाल करने के लिए, सेटअप और अपने ऐप्लिकेशन में 3D मैप जोड़ें में दिए गए निर्देशों का पालन करें. इससे, Android Studio प्रोजेक्ट को बुनियादी 3D मैप के साथ सेट अप किया जा सकेगा. इसके बाद, 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
}
)
बहुभुज पर क्लिक करने से जुड़े इवेंट को मॉनिटर करने की अनुमति
किसी पॉलीगॉन पर क्लिक इवेंट सुनने के लिए, पॉलीगॉन ऑब्जेक्ट पर setClickListener को कॉल करें. यहां दिए गए उदाहरण में, किसी पॉलीगॉन पर क्लिक लिसनर सेट करने का तरीका बताया गया है:
polygon.setClickListener {
lifecycleScope.launch(Dispatchers.Main) {
Toast.makeText(this@PolygonsActivity, "Check out the Museum!", Toast.LENGTH_SHORT).show()
}
}
ध्यान दें कि क्लिक हैंडलर, मुख्य (या यूज़र इंटरफ़ेस) थ्रेड पर नहीं चलता है. अगर आपको यूज़र इंटरफ़ेस (यूआई) में बदलाव करने हैं (जैसे, टोस्ट मैसेज दिखाना), तो आपको मुख्य थ्रेड पर स्विच करना होगा. Kotlin के लिए, lifecycleScope.launch(Dispatchers.Main) का इस्तेमाल करके ऐसा किया जा सकता है.