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

ตำแหน่งกล้อง
มุมมองแผนที่ได้รับการจำลองให้เป็นกล้องที่มองไปยังจุดที่เฉพาะเจาะจงในพื้นที่ ตำแหน่งและทิศทางของกล้องกำหนดโดยพิกัดละติจูด/ลองจิจูด/ระดับความสูง (กำหนดเป็น "จุดกึ่งกลาง" ที่กล้องชี้ไป) ทิศทาง การเอียง ระยะ และการหมุน
จุดกึ่งกลาง (ละติจูด ลองจิจูด ระดับความสูง)
จุดกึ่งกลาง กำหนดจุดที่เฉพาะเจาะจงในพื้นที่ 3 มิติที่กล้องกำลังสังเกต
โดยระบุโดยใช้คลาส LatLngAltitude ซึ่งรวมค่าละติจูด ลองจิจูด และระดับความสูง ซึ่งช่วยให้กำหนดตำแหน่งจุดโฟกัสของกล้องใน 3 มิติได้อย่างแม่นยำ
ละติจูดสามารถอยู่ระหว่าง -90 ถึง 90 องศา รวมถึงค่าขอบเขต ลองจิจูดอยู่ระหว่าง -180 ถึง 180 องศา รวมถึงค่าขอบเขต ระดับความสูงระบุเป็นเมตรเหนือระดับน้ำทะเล
ทิศทาง
ทิศทาง ระบุทิศทางเข็มทิศของแผนที่ โดยวัดเป็นองศาตามเข็มนาฬิกาจากทิศเหนือจริง ทิศเหนือสอดคล้องกับ 0 องศา ทิศตะวันออกสอดคล้องกับ 90 องศา ทิศใต้สอดคล้องกับ 180 องศา และทิศตะวันตกสอดคล้องกับ 270 องศา
การเอียง
การเอียง ระบุมุมของกล้องเทียบกับแกนแนวตั้ง โดยวัดเป็นองศา การเอียง 0 องศาหมายความว่ากล้องชี้ลงตรงๆ ไปยัง โลก (จุดใต้เท้า) การเอียง 90 องศาหมายความว่ากล้องชี้ไปในแนวนอนในทิศทาง ที่ระบุโดย ทิศทาง
ระยะ
ระยะ กำหนดระยะทางเป็นเมตรระหว่างตำแหน่งของกล้องกับจุดกึ่งกลางของแผนที่ ระยะอาจมีค่าตั้งแต่ 0 เมตร (ระยะใกล้มาก) ไปจนถึง 63 ล้านเมตร ซึ่งช่วยให้มองเห็นได้ตั้งแต่ระยะใกล้มากไปจนถึงมุมมองระดับโลก ซึ่งจะควบคุมลักษณะการ "ซูมเข้า" หรือ "ซูมออก" ของแผนที่
การหมุน
การหมุน กำหนดมุมของกล้องเทียบกับเส้นขอบฟ้า โดยวัดเป็นองศา พารามิเตอร์นี้ใช้เพื่อสร้างเอฟเฟกต์ต่างๆ เช่น การเอียงเครื่องบินระหว่างการจำลองการบิน หรือแม้แต่การหมุนตัวของเครื่องบิน โดยหมุนกล้องรอบแกนการมอง
การควบคุมกล้อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีควบคุมกล้อง ด้วยโปรแกรมโดยเรียกใช้setCamera
เมธอด
หากต้องการใช้ตัวอย่างโค้ดนี้ ให้ทำตามวิธีการใน
ตั้งค่าและ
เพิ่มแผนที่ 3 มิติลงในแ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
}
)