[iOS] 위치정보 알아보기 (위도,경도)

ohtt-iOS·2020년 12월 22일
0

iOS

목록 보기
9/24
post-thumbnail

개린이가 쓴 글이므로 오류가 있을 수 있음을 미리 알려드립니다 🐹 (꾸벅)


사용자의 위치정보를 받아오는 방법을 알아보겠습니다 :)

CLLocationManager 애플에서 위치 관련된 이벤트에서 사용하는 개체입니다
비콘과 관련된 것도 이 클래스를 통해 할 수 있다고 적혀있네요 !
자세한 내용은 공식 문서를 통해 확인하실 수 있습니다

📄 Info.plist

우선 Info.plist에 이 것을 추가해주어야 한다.

Privacy - Location When In Use Usage Description - 앱이 사용중일때만 가져오기
Privacy - Location Always and When In Use Usage Description - 앱을 사용안해도 항상 가져오기

필요에 따라 원하는 것을 작성해주시면 됩니다 .



🛠 VC

import UIKit
import CoreLocation

class ViewController: UIViewController, CLLocationManagerDelegate {

    //LocationManager 선언
    var locationManager:CLLocationManager!
    
    //위도와 경도
    var latitude: Double?
    var longitude: Double?
  
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //locationManager 인스턴스 생성 및 델리게이트 생성
        locationManager = CLLocationManager()
        locationManager.delegate = self
        
        //포그라운드 상태에서 위치 추적 권한 요청
        locationManager.requestWhenInUseAuthorization()
        
        //배터리에 맞게 권장되는 최적의 정확도
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        
        //위치업데이트
        locationManager.startUpdatingLocation()
        
        //위도 경도 가져오기
        let coor = locationManager.location?.coordinate
        latitude = coor?.latitude
        longitude = coor?.longitude
        
    }

이렇게 해주면 위도와 경도가 변수에 저장됩니다.
아쉽게도 시뮬레이터에서는 실험해볼 수가 없어서 휴대폰을 연결해서 실험해 보았습니다.

간단하게 버튼을 하나 연결해서 버튼을 눌렀을 때 현재 위도와 경도가 출력되도록 했습니다.



💡 result

소수점 14번째 자리까지 나올만큼 정확하게 나오는데 개인정보라서 첫번째 자리 까지만 잘라보았습니다 :)

구글 지도에서 제가 사는 곳의 위도, 경도를 확인해보았습니다 !! 정확하게 나오네요 :)



✨ use

단순히 위치 정보만 가져오는 것 뿐만 아니라 이런 저런 메소드가 많이 있었습니다.
이런 것들을 활용해서 위치정보를 이용한 서비스를 만들어보는 것도 재미있을 것 같아요 :)
다음에 도전해보기로 ㅎㅎ





참고자료

profile
오뜨 삽질 🔨 블로그

0개의 댓글