Thêm ảnh động theo đường dẫn của máy ảnh

Chọn nền tảng: Android iOS JavaScript

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
    }
)