نمونه کد زیر نشان میدهد که چگونه میتوان با فراخوانی روش
addMarker
یک نشانگر پایه به نقشه سهبعدی اضافه کرد. برای استفاده از این نمونه کد، دستورالعملهای موجود در
راهاندازی و افزودن نقشه سهبعدی به
برنامه را دنبال کنید تا پروژه
Android Studio خود را با نقشه سهبعدی پایه راهاندازی کنید. سپس، کد زیر را به فایل
MainActivity.kt اضافه کنید:
// Add imports
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
...
// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
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()
}
}
توجه داشته باشید که گرداننده کلیک در رشته «اصلی» (یا میانای کاربر) اجرا نمیشود. اگر میخواهید تغییراتی در واسط کاربر ایجاد کنید (مثلاً نمایش پیام Toast)، باید به رشته اصلی بروید. برای Kotlin، میتوانید این کار را بااستفاده از
lifecycleScope.launch(Dispatchers.Main) انجام دهید.