首页 理论教育 如何获取当前位置信息?

如何获取当前位置信息?

时间:2023-06-23 理论教育 版权反馈
【摘要】:CLLocationManager采用了委托者的方式来获取地理位置,委托对象通过满足CLLocationManagerDelegate协议来获取回调事件。代码示例如下:动手写18.2.2 CoreLocationPractise->ViewController.swift图18.2.2申请访问地理位置权限弹窗中的提示还使用了info.plist中的字符串,点击“允许”按钮就可以在应用使用时访问到地理位置权限。代码示例如下:动手写18.2.2 CoreLocationPractise->ViewController.swift如果用户已经授予了应用地理位置权限,那么下次启动应用时View Controller就会监听地理位置更新的事件,然后通过回调方法获取到实际的地理位置值。

如何获取当前位置信息?

创建CoreLocationPractise项目,首先在info.plist中增加申请地理位置授权的描述,如图18.2.1所示:

图18.2.1 在info.plist中增加地理位置权限申请时的描述

在View Controller完成view加载时,查看地理位置授权情况,如果还未授权则须寻求用户的同意,代码如下:

动手写18.2.1 CoreLocationPractise->ViewController.swift

Core Location框架提供了CLLocationManager作为地理位置的管理类。通过类方法authorization Status(),我们可以获取应用当前地理位置权限的状态。如果是notDetermined(还未决定)的状态,就可以使用实例方法requestWhenInUseAuthorization()去申请地理位置信息,如图18.2.2所示:

(www.xing528.com)

图18.2.2 申请访问地理位置权限

弹窗中的提示还使用了info.plist中的字符串,点击“允许”按钮就可以在应用使用时访问到地理位置权限。接着可以增加代码中开始接受地理位置的信息了。CLLocationManager采用了委托者的方式来获取地理位置,委托对象通过满足CLLocationManagerDelegate协议来获取回调事件。代码示例如下:

动手写18.2.2 CoreLocationPractise->ViewController.swift

如果用户已经授予了应用地理位置权限,那么下次启动应用时View Controller就会监听地理位置更新的事件,然后通过回调方法获取到实际的地理位置值。这些代码仅限于授权状态为authroizedWhenInUse时运行。Core Location的startUpdatingLocation()方法一经调用,便开始地理位置的更新。我们可以在真机上运行,观察控制台的输入:

数据中包含了经纬度的值、误差范围和速度信息。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈