定位这玩意,首先声明,我用的是系统的,实现的是基本的功能,主要是请求使用权限。
然后,权限分两个:
使用期间 和 始终使用
然后根据你的需求,在info.plist里面添加相应的属性,当然,我们也可以两个都添加
NSLocationWhenInUseUsageDescription 使用期间
NSLocationAlwaysUsageDescription 始终使用
注意了 这两个属性是字符串的,不是BOOL的,网上说的YES和NO都是骗人的,或许以前是这样的,这个属性是只要出现就证明你允许这个权限了,本人亲自测试过,不管是设置YES还是NO,结果都是一样的。然后,我不是在后面分别写了一句话么?那个是在弹出的提升框里面会出现,当然,一般的APP都是没有设置的,你直接添加属性后不管就是了,这个只是看效果的。
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img2.ph.126.net/vqpy-UycR5L3xZOFD5wpaA==/6630769798050498353.png)
然后,我们需要导入相应的依赖库
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img0.ph.126.net/TCxzPckYB04_4Ksm3snA8Q==/6630721419538681491.png)
在我们需要的地方,导入头文件,写一个全局的定位管理器的指针,
必须是全局的,局部的不会响应,没有效果的!
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img2.ph.126.net/77OaS63Kky2l_z4N2-GZWA==/6630725817585192611.png)
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img1.ph.126.net/T7Fhe7h_b3UkJfNNPejULw==/6630709324910776000.png)
下面是代理,在这个代理里面可以获取经纬度,主要用于定位到某个城市,当然也可以是街道,这就是所谓的反编译编译出地址
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img1.ph.126.net/QhAPuW56aDkyKc54j-lw6w==/6631309658259774325.png)
下面是两个按钮方法,分别请求权限,在第一个中,可以看到我请求了两个,实际上,只有第一个才会相应,当然,在点击点一个后,点击第二个,也是会相应的。但是。每个权限都只会响应一次,因为我们再info.plist里面添加了两个属性,所以,尽管我们只请求一个权限,也是会出现两个选项的,这个可以在设置里面看到。
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img0.ph.126.net/RiwwB7RmK-qS_-cwEnfI6w==/6631218398794665201.png)
下面是效果图,截图
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img0.ph.126.net/9kxbc5BiXd-I3S5kGxvibg==/6631245886585343028.png)
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img2.ph.126.net/ycGtkN91Fkj8AaS-b9f7FQ==/6630913834073740583.png)
![基于定位的一点心得 - Fillinse - Fillinse的博客](http://img2.ph.126.net/fYXkfttIj9RackqWtFLDIg==/6631386624073716053.png)
工程源代码下载地址:https://github.com/fillinse/LocationDemo
欢迎各位指出文中的错误及不足指出!