Mengonfigurasi kontrol kamera

Pilih platform: Android iOS JavaScript

Pengguna dapat mengontrol zoom, kemiringan, posisi, dan rotasi kamera menggunakan gestur pada peta. Anda juga dapat mengonfigurasi kamera secara terprogram.

Diagram yang mengilustrasikan model kamera 3D

Posisi Kamera

Tampilan peta dimodelkan sebagai kamera yang melihat ke titik tertentu di ruang. Posisi dan orientasi kamera ditentukan oleh koordinat lintang/bujur/ketinggian, arah, kemiringan, rentang, dan rotasi.

Lintang, bujur, ketinggian

Posisi awal kamera ditentukan dengan menetapkan lintang, bujur, dan ketinggian. Nilai-nilai ini digabungkan untuk menentukan posisi kamera, bukan arah atau pusat kamera.

Garis lintang berkisar antara -90 dan 90 derajat, inklusif. Rentang bujur antara -180 dan 180 derajat, inklusif. Ketinggian ditentukan dalam meter di atas permukaan laut.

Nilai di atas atau di bawah rentang ini akan dibulatkan ke nilai terdekat dalam rentang ini. Misalnya, menetapkan garis lintang 100 akan menyetel nilainya ke 90.

Judul

Heading menentukan arah kompas peta, yang diukur dalam derajat searah jarum jam dari Utara sejati. Utara sesuai dengan 0 derajat, Timur dengan 90 derajat, Selatan dengan 180 derajat, dan Barat dengan 270 derajat.

Kemiringan

Kemiringan menentukan sudut kamera terhadap sumbu vertikal, yang diukur dalam derajat. Kemiringan 0 derajat berarti kamera mengarah tepat ke bawah ke arah Bumi (titik nadir). Kemiringan 90 derajat berarti kamera diarahkan secara horizontal ke arah yang ditentukan oleh arah.

Rentang

Rentang menentukan jarak dalam meter antara posisi kamera itu sendiri dan pusat peta. Rentangnya dapat bervariasi dari nol meter (sangat dekat) hingga enam puluh tiga juta meter, sehingga memungkinkan tampilan dari sangat dekat hingga perspektif yang benar-benar global. Hal ini secara efektif mengontrol seberapa "diperbesar" atau "diperkecil" tampilan peta.

Putar

Roll menetapkan sudut kamera terhadap cakrawala, yang diukur dalam derajat. Parameter ini dapat digunakan untuk membuat efek seperti banking selama simulasi penerbangan atau bahkan barrel roll penuh, yang memutar kamera di sekitar sumbu tampilannya.

Mengontrol kamera

Contoh kode berikut menunjukkan cara mengontrol kamera secara terprogram.

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)

Kontrol UI

Selain gestur standar, Maps 3D SDK for iOS juga menyediakan kontrol UI untuk memanipulasi posisi kamera.

  • Kontrol zoom menampilkan tombol "+" dan "-" untuk mengubah tingkat zoom peta.
  • Kontrol pindah menampilkan tombol "←", "→", "↑", dan "↓" untuk mengubah pusat peta.
  • Kontrol putar menampilkan "↺" dan "↻" untuk mengubah arah kamera.
  • Kontrol kemiringan menampilkan "^" dan "⌄" untuk mengubah kemiringan kamera.
  • Kontrol kompas menunjukkan arah utara kompas, dan memungkinkan untuk mereset kamera ke arah utara.

Contoh kode berikut menunjukkan cara mengubah visibilitas kontrol 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() } } } } ```