إضافة رسوم متحركة لمسار الكاميرا

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

يمكنك إضافة صور متحركة لمسار الكاميرا إلى خريطتك الثلاثية الأبعاد لتوفير تجربة غامرة أكثر للمستخدمين. يمكن أن تحلّق الصور المتحركة لمسار الكاميرا إلى نقطة على الخريطة أو حولها أو يمكن دمجها لتحريك Camera إلى نقطة على الخريطة، بما في ذلك تحديد الارتفاع وaltitudeMode.

عند ضبط Camera لصورة متحركة، يمكنك ضبط السمة altitudeMode (أو استدعاء setAltitudeMode) لتحديد كيفية تفسير ارتفاع الكاميرا:

  • AltitudeMode.ABSOLUTE: تفسير الارتفاع على أنّه أمتار فوق متوسط مستوى سطح البحر (القيمة التلقائية في حال عدم تحديدها)
  • AltitudeMode.RELATIVE_TO_GROUND: تفسّر هذه السمة الارتفاع على أنّه عدد الأمتار فوق سطح الأرض عند نقطة المنتصف للكاميرا.
  • AltitudeMode.RELATIVE_TO_MESH: تفسّر الارتفاع على أنّه أمتار فوق أعلى سطح شبكي ثلاثي الأبعاد (مثل المباني أو الأشجار) عند نقطة مركز الكاميرا.

الانتقال إلى

يوضّح عينة تعليمات برمجية التالي كيفية تحريك Camera للانتقال إلى نقطة معيّنة على خريطة ثلاثية الأبعاد من خلال استدعاء الإجراء flyCameraTo على GoogleMap3D باستخدام إعدادات FlyToOptions.

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.FlyToOptions
import com.google.android.gms.maps3d.model.FlyAroundOptions
import com.google.android.gms.maps3d.model.Camera
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.flyCameraTo(
    flyToOptions {
        endCamera = camera {
            center = latLngAltitude {
                latitude = EMPIRE_STATE_BUILDING_LATITUDE
                longitude = EMPIRE_STATE_BUILDING_LONGITUDE
                altitude = 212.0 // in meters
            }
            heading = 34.0 // bearing in degrees
            tilt = 67.0 // relative to vertical
            range = 750.0 // distance away from the focal point in meters
            roll = 0.0 // roll relative to horizontal
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 2000
    }
)

التحليق في الأرجاء

توضّح عيّنة التعليمات البرمجية التالية كيفية تحريك Camera للطيران حول نقطة معيّنة على خريطة ثلاثية الأبعاد من خلال استدعاء الإجراء flyCameraAround على GoogleMap3D باستخدام إعدادات FlyAroundOptions.

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.flyCameraAround(
    flyAroundOptions {
        center = camera {
            center = latLngAltitude {
                latitude = EMPIRE_STATE_BUILDING_LATITUDE
                longitude = EMPIRE_STATE_BUILDING_LONGITUDE
                altitude = 212.0
            }
            heading = 34.0
            tilt = 67.0
            range = 750.0
            roll = 0.0
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 5000
        rounds = 1.0 // Number of rotations - can be fractional
    }
)