有一个简单的应用程序可以获取gps location. 我想在应用程序初始化之前获得一个 gps 位置。对我来说,GPS 位置似乎是异步更新的,当出现问题时,我确实在后台加载应用程序屏幕:“允许应用程序使用您当前的位置?”
好吧,我怎样才能进行回调(对不起,来自 Ruby / JS 背景)等到我得到当前位置。
编码:
- (void)viewWillAppear:(BOOL)动画
{
// 设置主视图以利用设备的整个应用程序框架空间。
// 更改此项以适应应用程序中视图的 UI 占用空间需求。
CLController = [[CoreLocationController alloc] init];
CLController.delegate = self;
[CLController.locMgr startUpdatingLocation];
self.view.frame = [[UIScreen mainScreen] applicationFrame];
[超级viewWillAppear:动画];
}
在CoreLocationController.m
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"更新位置");
if([self.delegate 符合ToProtocol:@protocol(CoreLocationControllerDelegate)]) {
[self.delegate locationUpdate:newLocation];
[self.locMgr stopUpdatingLocation];
# => 等待初始化直到这一点,然后继续