点击按钮时获取用户位置

时间:2016-03-11 11:28:46

标签: ios iphone gps location core-location

在我的应用程序中,有一个按钮可以向DataBase添加记录。每次用户点击该按钮时,他都会向DB添加一条记录。该记录的一部分应该是用户点击按钮时的位置。

因此,在我的代码中,当点击按钮时,我会调用一个跟踪用户位置的方法。麻烦的是,iPhone无法立即找到用户的位置,因此保存记录而没有坐标(如果我在10秒后创建另一条记录,则一切正常)。

有没有办法只在他按下按钮并在可用时添加坐标时跟踪用户?

1 个答案:

答案 0 :(得分:3)

@property(nonatomic,strong) CLLocationManager *locationManager;
ViewDidLoad中的

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate=self;
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)])
{
    [self.locationManager requestAlwaysAuthorization];
}

if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)])
{
    [self.locationManager requestWhenInUseAuthorization];
}

然后

-(IBAction)button_Clicked:(id)sender
{
    [self.locationManager startUpdatingLocation];
}


#pragma mark - Location Manager delegate
- (void)locationManager:(CLLocationManager *)manager
 didUpdateLocations:(NSArray<CLLocation *> *)locations
{
    CLLocation *location = [locations firstObject];
    CLLocationCoordinate2D coordinate = location.coordinate;
}