إضافة تصميم ثلاثي الأبعاد إلى خريطة

اختيار النظام الأساسي: Android‏ iOS‏ JavaScript‏

تصميم ثلاثي الأبعاد على خريطة

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