在我的应用程序中有一个按钮可以将记录添加到数据库。每次用户点击该按钮时,他都会向数据库添加一条记录。该记录的一部分应该是用户点击按钮时的位置。
因此,在我的代码中,当点击按钮时,我会调用一个跟踪用户位置的方法。问题是 iPhone 无法立即找到用户的位置,因此保存的记录没有坐标(如果我在大约 10 秒后创建另一条记录,一切正常)。
有没有办法只在用户按下按钮并在可用时添加坐标时跟踪用户?
最佳答案
@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;
}
关于ios - 点击按钮时获取用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35939122/