gpt4 book ai didi

iphone - 用户选择允许后如何处理启用位置服务?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:09:35 24 4
gpt4 key购买 nike

基本上,当我的应用首次启动时,会出现“启用定位服务”提示。当用户点击“允许”时,我想开始更新用户位置并放大该区域。

在我的 viewDidLoad 中,我启动了位置管理器,但不幸的是,在用户有机会点击允许之前加载了 View 。第二次启动应用程序时一切正常,因为用户已经允许定位服务

我的问题是如何捕获点击“允许”的事件,以便我可以运行代码来放大某个区域?

我尝试过使用 -(void)locationManager:didChangeAuthorizationStatus: 但是当用户点击允许时它似乎没有调用这个委托(delegate)方法。

希望这是有道理的,我对此很陌生。

最佳答案

据我所知,您不能,但您不必捕获此事件,因为在获得该位置的坐标之前,您将无法缩放到该位置。您的应用程序在第二次启动时运行良好,因为它使用第一次启动时缓存的位置数据。因此,您需要在收到新的有效坐标后运行缩放代码。如果您使用 CLLocationManager,请查看

– locationManager:didUpdateToLocation:fromLocation: 

在它的委托(delegate)中。如果用户拒绝使用定位服务,您的代表将收到

locationManager:didFailWithError:

有相应的错误。

如果你使用 MKMapKit,那么在 MKMapView 中委托(delegate)实现方法

– mapViewWillStartLocatingUser: 

关注当前用户位置。处理拒绝工具

– mapView:didFailToLocateUserWithError:

相应 Apple 文档的链接:

CLLocationManager

CLLocationManagerDelegate

MKMapViewDelegate

关于iphone - 用户选择允许后如何处理启用位置服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11067498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com