กำหนดค่าตัวควบคุมกล้อง

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

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

แผนภาพแสดงโมเดลกล้อง 3 มิติ

ตำแหน่งกล้อง

มุมมองแผนที่จะจำลองเป็นกล้องที่มองไปยังจุดหนึ่งๆ ในอวกาศ ตำแหน่งและทิศทางของกล้องกำหนดโดย พิกัดละติจูด/ลองจิจูด/ระดับความสูง (กำหนดเป็น "ศูนย์กลาง" ซึ่งเป็นจุดที่กล้องชี้ไป) การมุ่งหน้า การเอียง ช่วง และการหมุน

ศูนย์กลาง (ละติจูด ลองจิจูด ความสูง)

กึ่งกลางกำหนดจุดที่เฉพาะเจาะจงในพื้นที่ 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
    }
)