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