เพิ่มภาพเคลื่อนไหวของเส้นทางกล้อง

เลือกแพลตฟอร์ม: Android iOS JavaScript

คุณสามารถเพิ่มภาพเคลื่อนไหวเส้นทางกล้องลงในแผนที่ 3 มิติเพื่อให้ผู้ใช้ได้รับประสบการณ์ที่สมจริงยิ่งขึ้น ภาพเคลื่อนไหวเส้นทางกล้องสามารถบินไป บินรอบๆ หรือรวมกันเพื่อเคลื่อนไหว Camera ไปยังจุดหนึ่งบนแผนที่ รวมถึงระบุความสูงและ altitude และ altitudeMode

เมื่อกำหนดค่า Camera สำหรับภาพเคลื่อนไหว คุณสามารถตั้งค่าพร็อพเพอร์ตี้ altitudeMode (หรือเรียก setAltitudeMode) เพื่อระบุวิธีตีความความสูงของกล้องได้ดังนี้

  • AltitudeMode.ABSOLUTE: ตีความความสูงเป็นเมตรเหนือระดับน้ำทะเลปานกลาง (ค่าเริ่มต้นหากไม่ได้ระบุ)
  • AltitudeMode.RELATIVE_TO_GROUND: ตีความความสูงเป็นเมตรเหนือพื้นผิวที่จุดกึ่งกลางของกล้อง
  • AltitudeMode.RELATIVE_TO_MESH: ตีความความสูงเป็นเมตรเหนือพื้นผิวตาข่าย 3 มิติที่สูงที่สุด (เช่น อาคารหรือต้นไม้) ที่จุดกึ่งกลางของกล้อง

บินไปที่

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเคลื่อนไหว Camera ให้บินไปยังจุดหนึ่งบนแผนที่ 3 มิติโดยเรียกใช้เมธอด 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 ให้บินรอบๆ จุดหนึ่งบนแผนที่ 3 มิติโดยเรียกใช้เมธอด 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
    }
)