ผู้ใช้สามารถควบคุมการซูม การเอียง ตำแหน่ง และการหมุนของกล้องได้โดยใช้ท่าทางสัมผัสบนแผนที่ คุณยังกำหนดค่ากล้องแบบเป็นโปรแกรมได้ด้วย

ตำแหน่งกล้อง
มุมมองแผนที่จะจำลองเป็นกล้องที่มองไปยังจุดหนึ่งๆ ในอวกาศ ตำแหน่งและทิศทางของกล้องกำหนดโดย พิกัดละติจูด/ลองจิจูด/ระดับความสูง (กำหนดเป็น "ศูนย์กลาง" ซึ่งเป็นจุดที่กล้องชี้ไป) การมุ่งหน้า การเอียง ช่วง และการหมุน
ศูนย์กลาง (ละติจูด ลองจิจูด ความสูง)
กึ่งกลางกำหนดจุดที่เฉพาะเจาะจงในพื้นที่ 3 มิติที่กล้องกำลังสังเกต
โดยระบุโดยใช้คลาส LatLngAltitude
ซึ่งรวมค่าสำหรับละติจูด ลองจิจูด และระดับความสูง ซึ่งช่วยให้กำหนดตำแหน่งจุดโฟกัสของกล้องได้อย่างแม่นยำใน 3 มิติ
ละติจูดต้องอยู่ระหว่าง -90 ถึง 90 องศา ลองจิจูด อยู่ระหว่าง -180 ถึง 180 องศา โดยจะระบุระดับความสูงเป็นเมตรเหนือ ระดับน้ำทะเล
ส่วนหัว
ส่วนหัวจะระบุทิศทางเข็มทิศของแผนที่ ซึ่งวัดเป็นองศา ตามเข็มนาฬิกาจากทิศเหนือจริง ทิศเหนือสอดคล้องกับ 0 องศา ทิศตะวันออกกับ 90 องศา ทิศใต้กับ 180 องศา และทิศตะวันตกกับ 270 องศา
เอียง
การเอียงจะระบุมุมของกล้องเทียบกับแกนแนวตั้ง โดยวัดเป็นองศา การเอียง 0 องศาหมายความว่ากล้องกำลังชี้ลงมายัง โลก (จุดใต้เท้า) การเอียง 90 องศาหมายความว่ากล้องหันไปในแนวนอนในทิศทางที่ ระบุโดยส่วนหัว
ช่วง
ช่วงจะกำหนดระยะทางเป็นเมตรระหว่างตำแหน่งของกล้องเอง กับศูนย์กลางของแผนที่ ระยะทางอาจแตกต่างกันตั้งแต่ 0 เมตร (ใกล้มาก) จนถึง 63 ล้านเมตร ซึ่งช่วยให้คุณดูได้ตั้งแต่ระยะใกล้มากไปจนถึงมุมมองระดับโลกอย่างแท้จริง ซึ่งจะควบคุมลักษณะที่แผนที่จะปรากฏในลักษณะ "ซูมเข้า" หรือ "ซูมออก"
ม้วนกระดาษ
การหมุนจะกำหนดมุมของกล้องเทียบกับขอบฟ้า โดยวัดเป็นองศา พารามิเตอร์นี้ใช้เพื่อสร้างเอฟเฟกต์ต่างๆ เช่น การเอียงระหว่างการจำลองการบิน หรือแม้แต่การหมุน 360 องศา โดยหมุนกล้องรอบแกนการดู
การควบคุมกล้องถ่ายรูป
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีควบคุมกล้อง โดยอัตโนมัติด้วยการเรียกใช้เมธอดsetCamera
หากต้องการใช้ตัวอย่างโค้ดนี้ ให้ทำตามวิธีการใน
การตั้งค่าและ
เพิ่มแผนที่ 3 มิติลงในแอปเพื่อตั้งค่า
โปรเจ็กต์ Android Studio ด้วยแผนที่ 3 มิติพื้นฐาน จากนั้นเพิ่มโค้ดต่อไปนี้ลงในไฟล์
MainActivity.kt
// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude
...
// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setCamera(
camera {
center = latLngAltitude {
latitude = 38.743502
longitude = -109.499374
altitude = 1467.0
}
heading = 350.0
tilt = 58.1
range = 138.2
roll = 0.0
}
)