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