يمكنك إضافة صور متحركة لمسار الكاميرا إلى خريطتك الثلاثية الأبعاد لتوفير تجربة غامرة أكثر للمستخدمين. يمكن أن تحلّق الصور المتحركة لمسار الكاميرا إلى نقطة على الخريطة أو حولها أو يمكن دمجها لتحريك 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
}
)