یک مدل سه بعدی به نقشه اضافه کنید، یک مدل سه بعدی را به نقشه اضافه کنید

پلتفرم مورد نظر را انتخاب کنید: اندروید، iOS، جاوا اسکریپت

یک مدل سه بعدی روی نقشه

نمونه کد زیر نحوه اضافه کردن یک مدل سه‌بعدی و قرار دادن آن در فضای سه‌بعدی را با فراخوانی متد 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) انجام دهید.