Swift MkMapView로 맵 응용 프로그램 만들기(02) - 현재 위치 가져오기
기사 목록
Swift MkMapView로 지도 애플리케이션을 만들었습니다(기사 일람).
CLLoction Manager를 통해 현재 위치 가져오기
CLLocation Manager delegate 등록
ViewController.swift: CoreLocation 활성화
import UIKit
import MapKit
import CoreLocation
ViewController.swift: CLLocation ManagerDelegate 상속 class ViewController: UIViewController,
CLLocationManagerDelegate {
ViewController.swift: CLLocation Manager의 멤버 변수 정의 @IBOutlet var mapView: MKMapView!
var locManager: CLLocationManager!
ViewController.swift: delegate 로그인 override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locManager = CLLocationManager()
locManager.delegate = self
현재 위치 업데이트 수신
ViewController.swift: 현재 위치 업데이트 수신
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations:[CLLocation]) {
let lonStr = (locations.last?.coordinate.longitude.description)!
let latStr = (locations.last?.coordinate.latitude.description)!
print("lon : " + lonStr)
print("lat : " + latStr)
}
delegate 설정을 할 때 위치가 변할 때마다 상기 함수는 다시 쓰는 구조와 유사하게 Call됩니다.그렇지만 이러다 콜 안 할 거야.
디버깅을 실행해도 브레이크가 되지 않습니다.
따라서 위치 정보의 사용 허가를 얻다
Info.plist에 "Provacy-Location When In UseUsage Description"을 추가하고 장치 허가를 받을 때 표시할 문자열을 입력하십시오.
위치 정보에 대한 라이센스를 요청하고 라이센스가 있으면 CLLocation Manager의 현재 위치 업데이트를 시작합니다.
ViewController.swift: 위치 정보 사용 허가 받기
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
locManager = CLLocationManager()
locManager.delegate = self
// 位置情報の使用の許可を得る
locManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
switch CLLocationManager.authorizationStatus() {
case .authorizedWhenInUse:
// 座標の表示
locManager.startUpdatingLocation()
break
default:
break
}
}
locManager.다음 Dialog는 re q u estWhen InUseAuthorization()에 표시되므로 Allow를 누릅니다.따라서 현재 위치가 업데이트될 때마다 locationManager는 Call을 사용합니다.
Allow를 선택하면 Dialog가 더 이상 표시되지 않습니다.
기사 목록
Swift MkMapView로 지도 애플리케이션을 만들었습니다(기사 일람).
Reference
이 문제에 관하여(Swift MkMapView로 맵 응용 프로그램 만들기(02) - 현재 위치 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yuta-sasaki/items/18496f0f9aa1e89350e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Swift MkMapView로 맵 응용 프로그램 만들기(02) - 현재 위치 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuta-sasaki/items/18496f0f9aa1e89350e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)