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

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

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

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

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

มุมมองแผนที่ได้รับการจำลองให้เป็นกล้องที่มองไปยังจุดที่เฉพาะเจาะจงในพื้นที่ ตำแหน่งและการวางแนวของกล้องกำหนดโดยพิกัดละติจูด/ลองจิจูด/ระดับความสูง ทิศทาง การเอียง ระยะ และการหมุน

ละติจูด ลองจิจูด ระดับความสูง

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

ละติจูดสามารถอยู่ระหว่าง -90 ถึง 90 องศา รวมถึงค่าขอบเขต ลองจิจูดสามารถอยู่ระหว่าง -180 ถึง 180 องศา รวมถึงค่าขอบเขต ระดับความสูงระบุเป็นเมตรเหนือระดับน้ำทะเล

ค่าที่สูงหรือต่ำกว่าช่วงนี้จะถูกจำกัดให้อยู่ในค่าที่ใกล้เคียงที่สุดภายในช่วงนี้ ตัวอย่างเช่น การระบุละติจูดเป็น 100 จะตั้งค่าเป็น 90

ทิศทาง

ทิศทาง จะระบุทิศทางเข็มทิศของแผนที่ โดยวัดเป็นองศาตามเข็มนาฬิกาจากทิศเหนือจริง ทิศเหนือสอดคล้องกับ 0 องศา ทิศตะวันออกสอดคล้องกับ 90 องศา ทิศใต้สอดคล้องกับ 180 องศา และทิศตะวันตกสอดคล้องกับ 270 องศา

เอียง

การเอียง จะระบุมุมของกล้องเทียบกับแกนแนวตั้ง โดยวัดเป็นองศา การเอียง 0 องศาหมายความว่ากล้องชี้ตรงลงมายัง โลก (จุดที่ต่ำที่สุด) การเอียง 90 องศาหมายความว่ากล้องชี้ไปในแนวนอนในทิศทาง ที่ระบุโดย ทิศทาง

ระยะ

ระยะ จะกำหนดระยะทางเป็นเมตรระหว่างตำแหน่งของกล้องกับกึ่งกลางของแผนที่ ระยะสามารถอยู่ระหว่าง 0 เมตร (ใกล้มาก) ถึง 63 ล้านเมตร ซึ่งช่วยให้มองเห็นได้ตั้งแต่ระยะใกล้มากไปจนถึงมุมมองระดับโลก ซึ่งจะควบคุมลักษณะที่แผนที่ปรากฏขึ้นเมื่อ "ซูมเข้า" หรือ "ซูมออก" ได้อย่างมีประสิทธิภาพ

หมุน

การหมุน จะกำหนดมุมของกล้องเทียบกับเส้นขอบฟ้า โดยวัดเป็นองศา พารามิเตอร์นี้สามารถใช้เพื่อสร้างเอฟเฟกต์ต่างๆ เช่น การเอียงเครื่องบินระหว่างการจำลองการบิน หรือแม้แต่การหมุนตัวของเครื่องบิน โดยหมุนกล้องรอบแกนการดู

การควบคุมกล้อง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีควบคุมกล้องด้วยโปรแกรม

Swift


public static var sanFrancisco: Camera = .init(
  center: .init(
    latitude: 37.7845812,
    longitude: -122.3660241,
    altitude: 585),
  fieldOfView: .init(degrees: 100),
  altitudeMode: .relativeToGround,
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)