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 đến 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 tính bằng mét so với bề mặt đất tại điểm trung tâm của camera.
  • AltitudeMode.RELATIVE_TO_MESH: Diễn giải độ cao theo đơn vị mét phía trên 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 giữa của camera.

Chuyển đến

Mã mẫu sau đây minh hoạ cách tạo ảnh động cho Camera để bay đế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
    }
)

Bay xung quanh

Mã mẫu sau đây minh hoạ cách tạo hiệu ứng cho Camera bay xung 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
    }
)