คุณสามารถเพิ่มภาพเคลื่อนไหวเส้นทางกล้องลงในแผนที่ 3 มิติเพื่อมอบประสบการณ์ที่สมจริงยิ่งขึ้นให้แก่ผู้ใช้ ภาพเคลื่อนไหวเส้นทางกล้องสามารถบินไปยัง บินรอบๆ หรือรวมกันเพื่อทำให้
Camera
เคลื่อนไหวไปยังจุดหนึ่งบนแผนที่ รวมถึงระบุ
ระดับความสูง
และ
altitudeMode
เมื่อกำหนดค่า
Camera
สำหรับภาพเคลื่อนไหว คุณสามารถตั้งค่าพร็อพเพอร์ตี้
altitudeMode (หรือเรียกใช้
setAltitudeMode)
เพื่อระบุวิธีตีความระดับความสูงของกล้อง ดังนี้
AltitudeMode.ABSOLUTE: ตีความระดับความสูงเป็นเมตรเหนือระดับน้ำทะเลปานกลาง (ค่าเริ่มต้นหากไม่ได้ระบุ)AltitudeMode.RELATIVE_TO_GROUND: ตีความระดับความสูงเป็นเมตรเหนือพื้นผิวที่จุดศูนย์กลางของกล้องAltitudeMode.RELATIVE_TO_MESH: ตีความระดับความสูงเป็นเมตรเหนือพื้นผิว 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
}
)