Bạn có thể thêm ảnh động đường dẫn camera vào bản đồ 3D để mang lại trải nghiệm sống động hơn cho người dùng. Ảnh động đường đi của camera có thể bay đến, bay xung quanh hoặc kết hợp để tạo ảnh động cho
Camera
đến một điểm trên bản đồ, bao gồm cả việc chỉ định
độ cao
và
altitudeMode.
Khi định cấu hình Camera cho ảnh động, bạn có thể đặt thuộc tính altitudeMode (hoặc gọi setAltitudeMode) để chỉ định cách diễn giải độ cao của camera:
AltitudeMode.ABSOLUTE: Diễn giải độ cao theo đơn vị mét so với mực nước biển trung bình (giá trị mặc định nếu không được chỉ định).AltitudeMode.RELATIVE_TO_GROUND: Diễn giải độ cao theo mét so với mặt đất tại điểm trung tâm của máy ảnh.AltitudeMode.RELATIVE_TO_MESH: Diễn giải độ cao theo mét so với bề mặt lưới 3D cao nhất (chẳng hạn như toà nhà hoặc cây cối) tại điểm trung tâm của camera.
Chuyển đến
Mã mẫu sau đây minh hoạ cách tạo ảnh động cho Camera để di chuyển đến một điểm cụ thể trên bản đồ 3D bằng cách gọi phương thức flyCameraTo trên GoogleMap3D bằng cấu hình 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
}
)
Di chuyển xung quanh
Mã mẫu sau đây minh hoạ cách tạo ảnh động cho Camera để bay quanh một điểm cụ thể trên bản đồ 3D bằng cách gọi phương thức flyCameraAround trên GoogleMap3D bằng cấu hình 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
}
)