Swift 定位-CLLocationManager

453 查看

此文章主要介绍如何在Swift下使用CLLocationManager来获取定位的经纬度,并根据经纬度进行你地理编码来获取定位点的信息。
先导入MapKit头文件

为了让代码更容易理解,我预先在StoryBoard创建好了初始界面,并简单的做了下屏幕适配。

在iOS8以上,苹果官方规定,使用定位前都必须要先经过用户同意。
先在Info.plist里添加2个Key,NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescription。之前我只添加了一个key,发现一直没有向用户发送允许请求定位的信息。把2个key都加进去就好了。

请求允许定位key.png

CLLocationManager

MapView上显示定位点

为了节省用户电量,苹果建议我们,一般情况下,最好不要频繁地获取定位信息,这个教程里做了个示范,我在CLLocationManager定位代理方法里面只要获取到一次信息,就停止定位,并在定位的经纬度保存到属性

CLLocationManager定位代理方法

MKMapView

MKMapView提供的方法里并没有设置地图缩放级别的方法。这个教程里我给MKMapView添加了个extension