ios - 点击按钮时获取用户位置

标签 ios iphone gps location core-location

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

因此,在我的代码中,当点击按钮时,我会调用一个跟踪用户位置的方法。问题是 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/

相关文章:

ios - 如何在 iOS8 上使 UICollectionViewCell 高度动态(带自动布局)

iphone - 如何在输入时获取搜索栏的当前字符串

ios - 是否可以通过编程方式关闭 iOS 中的拨号辅助功能?

android - GPS 位置 - 在设备上还是在服务器上?

python - 两点之间的方位

ios - UICollectionView - 多个不同的单元格

ios - 在 NSString 和 NSData 之间转换的编码

iphone - (In app purchase)非续订订阅项没有添加时长按钮,请问如何设置?

ios - 如何在 xcode 中以编程方式向按钮添加操作

mysql - 将常规 SQL 结果数组保存为另一个表中的条目确实减少了查询次数,好主意与否?