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

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

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

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

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

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

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

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

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

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

ส่วนหัว

heading ระบุทิศทางเข็มทิศของแผนที่ โดยวัดเป็นองศาตามเข็มนาฬิกาจากทิศเหนือจริง ทิศเหนือสอดคล้องกับ 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),
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)

ตัวควบคุม UI

นอกเหนือจากท่าทางสัมผัสมาตรฐานแล้ว Maps 3D SDK สำหรับ iOS ยังมีตัวควบคุม UI สำหรับจัดการตำแหน่งของกล้องด้วย

  • ตัวควบคุมการซูมจะแสดงปุ่ม "+" และ "-" สำหรับเปลี่ยนระดับการซูมของแผนที่
  • ตัวควบคุมการย้ายจะแสดงปุ่ม "←", "→", "↑" และ "↓" สำหรับเปลี่ยนจุดศูนย์กลางของแผนที่
  • การควบคุมการหมุนจะแสดง "↺" และ "↻" เพื่อเปลี่ยนทิศทางของกล้อง
  • การควบคุมการเอียงจะแสดง "^" และ "⌄" เพื่อเปลี่ยนการเอียงของกล้อง
  • การควบคุมเข็มทิศจะระบุทิศเหนือของเข็มทิศ และช่วยให้รีเซ็ตกล้องเป็นทิศเหนือได้

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

swift struct ContentView: View { @State private var showControls = true</p> <p>var body: some View { Map(mode: .hybrid) .mapControls(at: .trailing) { if showControls { CompassControl() ZoomControl() TiltControl() } } } } ```