[Day 10] MapKit 基本應用
前言 在前一天我們已經學會了如何使用 Core Location 來取得用戶位置,而今天我們要進一步將位置資訊反映在地圖上。我們可以使用 MapKit 此一蘋果提供的地圖框架,此框架提供了顯⽰、導覽地圖,在地圖上加上標記,覆蓋物等功能。 今天簡單三個目標: 顯示地圖 鏡頭定位在「目前位置」 在目前位置放一個大頭針(Marker) 將地圖 view 加入畫面將位置資訊顯示在地圖上 我們可以延續昨天使用 Core Location 的專案,使用我們已經建立好的 LoactionManager 來取得位置,並且將位置顯示在地圖上。 首先引入 MapKit: import MapKit 在 MapKit 當中,我們找到這個初始化方法: @MainActor @preconcurrency public init<C>( position: Binding<MapCameraPosition>, bounds: MapCameraBounds? = nil, interactionModes: MapInteractionModes = .all, scope: Namespace.ID? = nil, @MapContentBuilder content: () -> C ) where Content == MapContentView<Never, C>, C : MapContent 說明一下幾個參數: position: Binding Binding<MapCameraPosition>,作用是透過雙向綁定,允許程式碼與地圖之間都能改變相機位置,常用值有: .automatic - 自動決定相機位置 .userLocation(fallback: .automatic) - 跟隨使用者位置 .region(MKCoordinateRegion(...)) - 指定特定區域與縮放程度 .camera(MapCamera(...)) - 3D 相機控制(高度、俯仰角等) bounds: MapCameraBounds? = nil ...