คุณสามารถเพิ่มภาพเคลื่อนไหวเส้นทางกล้องลงในแผนที่ 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
}
)