افزودن مدل سه‌بعدی به نقشه

پلاتفرم را انتخاب کنید: Android iOS JavaScript

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

نمونه کد زیر نشان می‌دهد چگونه با فراخوانی روش addModel مدل سه‌بعدی اضافه کنید و آن را در فضای سه‌بعدی قرار دهید. برای استفاده از این نمونه کد، دستورالعمل‌های راه‌اندازی و افزودن نقشه سه‌بعدی به برنامه را دنبال کنید تا پروژه Android Studio خود را با نقشه سه‌بعدی پایه راه‌اندازی کنید. سپس، کد زیر را به فایل MainActivity.kt اضافه کنید:

// Add imports and define constants
import com.google.android.gms.maps3d.model.Map3DMode
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.setMapMode(Map3DMode.SATELLITE)
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()
    }
}

توجه داشته باشید که مدیریت‌کننده کلیک در رشته اصلی (یا واسط کاربر) اجرا نمی‌شود. اگر می‌خواهید تغییراتی در واسط کاربر ایجاد کنید (مثلاً نمایش پیام Toast)، باید به رشته اصلی بروید. برای Kotlin، می‌توانید این کار را بااستفاده از lifecycleScope.launch(Dispatchers.Main) انجام دهید.