
نمونه کد زیر نحوه اضافه کردن یک نشانگر اولیه به یک نقشه سه بعدی را با فراخوانی متد addMarker نشان میدهد. برای استفاده از این نمونه کد، دستورالعملهای موجود در Setup و Add a 3D map to your app را دنبال کنید تا پروژه اندروید استودیو خود را با یک نقشه سه بعدی اولیه راهاندازی کنید. سپس، کد زیر را به فایل MainActivity.kt اضافه کنید:
// Add imports import com.google.android.gms.maps3d.model.latLngAltitude ... // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.setMapMode(Map3DMode.SATELLITE) googleMap3D.setCamera( camera { center = latLngAltitude { latitude = 52.51974795 longitude = 13.40715553 altitude = 150.0 } heading = 252.7 tilt = 79.0 range = 1500.0 } ) // Add a marker using absolute altitude positioning googleMap3D.addMarker(markerOptions { position = latLngAltitude { latitude = 52.519605780912585 longitude = 13.406867190588198 altitude = 150.0 } label = "Absolute (150m)" altitudeMode = AltitudeMode.ABSOLUTE isExtruded = true isDrawnWhenOccluded = true collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL })
به رویدادهای کلیک نشانگر گوش دهید
برای گوش دادن به رویدادهای کلیک روی یک نشانگر، setClickListener را روی شیء نشانگر فراخوانی کنید. مثال زیر نحوه تنظیم یک شنونده کلیک روی یک نشانگر را نشان میدهد:
marker.setClickListener { lifecycleScope.launch(Dispatchers.Main) { Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT) .show() } }
توجه داشته باشید که کنترلکنندهی کلیک روی نخ اصلی (یا UI) اجرا نمیشود. اگر میخواهید تغییراتی در رابط کاربری ایجاد کنید (مانند نمایش یک پیام Toast)، باید به نخ اصلی بروید. برای کاتلین، میتوانید این کار را با استفاده از lifecycleScope.launch(Dispatchers.Main) انجام دهید.