
نمونه کد زیر نحوه اضافه کردن یک مدل سهبعدی و قرار دادن آن در فضای سهبعدی را با فراخوانی متد addModel نشان میدهد. برای استفاده از این نمونه کد، دستورالعملهای موجود در Setup و Add a 3D map to your app را دنبال کنید تا پروژه اندروید استودیو خود را با یک نقشه سهبعدی اولیه راهاندازی کنید. سپس، کد زیر را به فایل MainActivity.kt اضافه کنید:
// Add imports and define constants import com.google.android.gms.maps3d.model.latLngAltitude val PLANE_URL = "https://storage.googleapis.com/gmp-maps-demos/p3d-map/assets/Airplane.glb" val PLANE_SCALE = 0.05 // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.setCamera( camera { center = latLngAltitude { latitude = 47.133971 longitude = 11.333161 altitude = 2200.0 } heading = 221.0 tilt = 65.0 range = 1_200.0 } ) googleMap3D.addModel( modelOptions { id = "plane_model" position = latLngAltitude { latitude = 47.133971 longitude = 11.333161 altitude = 2200.0 } altitudeMode = AltitudeMode.ABSOLUTE orientation = orientation { heading = 41.5 tilt = -90.0 roll = 0.0 } url = PLANE_URL scale = vector3D { x = PLANE_SCALE y = PLANE_SCALE z = PLANE_SCALE } } )
به رویدادهای کلیک مدل سهبعدی گوش دهید
برای گوش دادن به رویدادهای کلیک در یک مدل سهبعدی، تابع setClickListener را روی شیء مدل فراخوانی کنید. مثال زیر نحوه تنظیم یک شنونده کلیک را روی یک مدل سهبعدی نشان میدهد:
model.setClickListener { lifecycleScope.launch(Dispatchers.Main) { Toast.makeText(this@ModelsActivity, "Model clicked", Toast.LENGTH_SHORT).show() } }
توجه داشته باشید که کنترلکنندهی کلیک روی نخ اصلی (یا UI) اجرا نمیشود. اگر میخواهید تغییراتی در رابط کاربری ایجاد کنید (مانند نمایش یک پیام Toast)، باید به نخ اصلی بروید. برای کاتلین، میتوانید این کار را با استفاده از lifecycleScope.launch(Dispatchers.Main) انجام دهید.