使用者可以在地圖上使用手勢,控制攝影機的縮放、傾斜、位置和旋轉。您也可以透過程式輔助方式設定攝影機。

The Camera Position
地圖檢視是模擬成一部看向空間中特定點的相機。攝影機的位置和方向由經度/緯度/高度座標、航向、傾斜度、範圍和滾動定義。
緯度、經度、高度
設定經度、緯度和高度,即可定義攝影機的初始位置。這些值會共同決定攝影機的位置,而非攝影機指向或置中的位置。
緯度可以介於正負 90 度 (含首尾)。經度的範圍介於正負 180 度 (含首尾)。高度以公尺為單位,表示海拔高度。
只要超出這個範圍,都會調整為範圍內最接近的值。舉例來說,如果將緯度指定為 100,值就會設為 90。
標題
頂角指定地圖的指南針方向,以正北為基準,依順時針方向測量角度。北為 0 度,東為 90 度,南為 180 度,西為 270 度。
傾斜
傾斜角度是指攝影機與垂直軸的角度,以度為單位。傾斜度為 0 度時,攝影機朝向正下方 (天底)。傾斜度為 90 度時,表示攝影機水平指向方向指定的方向。
範圍
範圍定義相機位置與地圖中心之間的距離 (以公尺為單位)。範圍可從零公尺 (非常近) 到六千三百萬公尺,讓您從非常近的距離一直看到真正的全球視角。這能有效控制地圖的「放大」或「縮小」程度。
向左/向右旋轉
旋轉角是指攝影機相對於地平線的角度,以度為單位。這個參數可用來建立效果,例如飛行模擬模式期間的傾斜,甚至是完整的桶滾,讓攝影機繞著檢視軸旋轉。
控制相機
下列程式碼範例示範如何以程式輔助方式控制攝影機。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 for 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() } } } } ```