میتوانید پویانمایی مسیر دوربین را به نقشه سهبعدیتان اضافه کنید تا تجربه فراگیرتری برای کاربران فراهم کنید. پویانماییهای مسیر دوربین میتوانند به نقطهای در نقشه پرواز کنند، دور آن بچرخند، یا باهم ترکیب شوند تا
Camera
را به نقطهای در نقشه پویانمایی کنند، ازجمله با مشخص کردن
ارتفاع
و
altitudeMode آن.
هنگام پیکربندی
Camera
برای پویانمایی، میتوانید ویژگی
altitudeMode
را تنظیم کنید (یا
setAltitudeMode
را فراخوانی کنید)
تا نحوه تفسیر ارتفاع دوربین را مشخص کنید:
AltitudeMode.ABSOLUTE: ارتفاع را بهعنوان متر بالاتر از سطح متوسط دریا تفسیر میکند (مقدار پیشفرض درصورت عدم تعیین).AltitudeMode.RELATIVE_TO_GROUND: ارتفاع را بهصورت متر بالاتر از سطح زمین در نقطه مرکزی دوربین تفسیر میکند.AltitudeMode.RELATIVE_TO_MESH: ارتفاع را بهعنوان متر بالاتر از بالاترین سطح توری سهبعدی (مثل ساختمانها یا درختان) در نقطه مرکزی دوربین تفسیر میکند.
پرواز کردن به
نمونه کد زیر نشان میدهد که چگونه با فراخوانی روش
flyCameraTo
در
GoogleMap3D
با پیکربندی
FlyToOptions
،
Camera
را پویانمایی کنید تا به نقطه خاصی در نقشه سهبعدی پرواز کند.
// 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
}
)
پرواز کردن در اطراف
نمونه کد زیر نشان میدهد که چگونه میتوان با فراخوانی روش
flyCameraAround
در
GoogleMap3D
با پیکربندی
FlyAroundOptions
،
Camera
را برای پرواز در اطراف نقطهای خاص در نقشه سهبعدی پویانمایی کرد.
// 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
}
)