본문 바로가기
다시 개발자

Swiftui로 현재 위치를 지도에 표시하는 방법

by 까삼스 이삐 2023. 10. 10.
728x90
반응형

Swiftui로 현재 위치를 지도에 표시하는 방법입니다.

 

info.plist에 "Privacy - Location When In Use Usage Description"를 추가합니다.

 

Swiftui의 view를 다음과 같이 구현합니다.

import SwiftUI
import MapKit
import CoreLocation

struct MapShowView: View {
    
    @State private var region:MKCoordinateRegion = MKCoordinateRegion()
    @State var isShowMapView: Bool = false
    
    var body: some View {
        if isShowMapView {
            Map(coordinateRegion: $region, showsUserLocation: true)
        }
        
        Button ("지도에서 현재 위치 표시 보기") {
            let manager = CLLocationManager()
            manager.desiredAccuracy = kCLLocationAccuracyBest
            manager.requestWhenInUseAuthorization()

            let latitude = manager.location?.coordinate.latitude
            let longitude = manager.location?.coordinate.longitude

            region = MKCoordinateRegion (
                center: CLLocationCoordinate2D(latitude: latitude!, longitude: longitude!),
                span: MKCoordinateSpan(latitudeDelta: 0.1, longitudeDelta: 0.1)
            )
            isShowMapView = true
        } 
    }
}

 

 

그리고 실행하면 다음과 같이 현재 위치를 가져오는 것을 확인할 수 있습니다.

 

728x90
반응형

댓글