يوضّح نموذج الرمز البرمجي التالي كيفية إضافة علامة أساسية إلى خريطة ثلاثية الأبعاد من خلال استدعاء الإجراء addMarker. لاستخدام عينة التعليمات البرمجية هذه، اتّبِع التعليمات الواردة في
الإعداد وإضافة خريطة ثلاثية الأبعاد إلى
تطبيقك لإعداد
مشروعك على استوديو Android باستخدام خريطة ثلاثية الأبعاد أساسية. بعد ذلك، أضِف الرمز التالي إلى ملف
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).