MKMapViewに現在地を表示する
MapKitとCoreLocationライブラリをリンクして、StoryboardにMapViewを貼り付けて、MapViewの「User Location」にチェックを入れて、という手順までは、まあ素直に進むと思います。
そのまま起動すると以下のようなエラーが。
2016-08-05 22:25:41.739 MapTest[1844:443449] Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.
言われるまま、request..メソッドを足します。
let lm = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
lm.requestWhenInUseAuthorization()
lm.startUpdatingLocation()
}
が、これでも現在地が表示されません。そもそも、位置情報利用を許可するためのダイアログも出ません。もう一手間必要なんですね。Info.plistに以下のプロパティを足してやります。
NSLocationWhenInUseUsageDescription
値はなんでも良いのですが、ダイアログの下部に表示されます(添付画像の「Hello MapKit」の部分)。
これで晴れて現在地が表示されます!
参考
Author And Source
この問題について(MKMapViewに現在地を表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/lumbermill/items/b3561904df385ded6bc7著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .