JLa*_*_cy 2 iphone location cllocationmanager ios
基本上,当我的应用程序第一次启动时,会出现"启用位置服务"提示.当用户点击"允许"时,我想开始更新用户位置并放大该区域.
在我的viewDidLoad中,我启动了位置管理器,但不幸的是,在用户有机会点击"允许"之前加载了视图.在第二次启动应用程序时一切正常,因为用户已经允许定位服务
我的问题是如何捕获点击允许的事件,以便我可以运行代码来放大一个区域?
我尝试过使用-(void)locationManager:didChangeAuthorizationStatus:但是当用户点击允许时它似乎没有调用此委托方法.
希望这是有道理的我对此非常新.
小智 5
据我所知,您不能,但您不必捕获此事件,因为在获得此位置的坐标之前,您将无法缩放到特定位置.您的应用程序在第二次启动时工作正常,因为它使用第一次启动时的缓存位置数据.因此,您需要在收到新的有效坐标后运行缩放代码.如果使用CLLocationManager,请查看
– locationManager:didUpdateToLocation:fromLocation:
Run Code Online (Sandbox Code Playgroud)
在其代表中.如果用户拒绝使用位置服务,则您的代表将收到该服务
locationManager:didFailWithError:
Run Code Online (Sandbox Code Playgroud)
有相应的错误.
如果使用MKMapKit,则比在MKMapView中委托实现方法
– mapViewWillStartLocatingUser:
Run Code Online (Sandbox Code Playgroud)
专注于当前的用户位置.处理拒绝工具
– mapView:didFailToLocateUserWithError:
Run Code Online (Sandbox Code Playgroud)
指向相应Apple文档的链接: