61、利用 Core Location 和 Map Kit 定位:开发指南

利用 Core Location 和 Map Kit 定位:开发指南

1. 明智使用定位管理器

若仅需确定当前位置且无需持续更新,应让定位委托在获取应用所需信息后立即停止定位管理器。若需轮询,尽可能尽快停止。因为只要从定位管理器获取更新,就会消耗用户电池电量。

要让定位管理器停止向其委托发送更新,可调用 stopUpdatingLocation 方法,示例代码如下:

[locationManager stopUpdatingLocation];

2. 定位管理器委托

定位管理器委托必须遵循 CLLocationManagerDelegate 协议,该协议定义了多个可选方法。其中一个方法会在用户对使用定位服务的授权状态改变时被调用;另一个方法会在确定当前位置或检测到位置变化时被调用;还有一个方法会在定位管理器遇到错误时被调用。

以下是这些方法的调用场景:
| 方法 | 调用场景 |
| — | — |
| 授权状态改变时调用的方法 | 用户对使用定位服务的授权状态改变 |
| 确定当前位置或检测到位置变化时调用的方法 | 定位管理器确定当前位置或检测到位置变化 |
| 遇到错误时调用的方法 | 定位管理器遇到错误 |

3. 获取位置更新

当定位管理器想向其委托告知当前位置时,会调用 locationManager:didUpdateLocations: 方法。该方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值