Swift 定位-CLLocationManager

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

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

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

请求允许定位key.png

CLLocationManager

MapView上显示定位点

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

CLLocationManager定位代理方法

MKMapView

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

具体实现方法

运行代码,如果出现报错,是因为项目里是纯Swift的话,需要将【Build settings->Embedded Content Contains Swift Code】的no改为yes.

你可以在Github找到此教程的代码。

1 1 收藏 评论

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部