【发布时间】:2014-07-18 20:05:31
【问题描述】:
我正在尝试设置新的 CLLocation 和 CLRegion,但无论我实际在哪里,该位置总是以相同的坐标返回。我的主 UIViewController 符合 CLLocationManagerDelegate 协议,自定义类也是如此。当自定义类初始化时,我将计时器设置为在 0.25 秒后触发,代码如下:
mainLocationManager = [[CLLocationManager alloc] init];
[mainLocationManager startUpdatingLocation];
location = [mainLocationManager location];
if (![location.timestamp isEqualToDate:[NSDate dateWithTimeIntervalSinceNow:0]]) { //filters cached data by updating location if cached data not recent enough
location = [mainLocationManager location];
}
//Set up region
region = [[CLRegion alloc] initCircularRegionWithCenter:location.coordinate
radius:500
identifier:[NSString stringWithFormat:@"region:%@", locationName]];
NSLog(@"%@ %@", location, region);
代码似乎可以工作,只是坐标始终是相同的值。我不知道如何改变这一点。任何帮助表示赞赏,谢谢!
【问题讨论】:
-
坐标是多少?他们是你的实际位置吗?你是在设备还是模拟器上运行它?
-
您尝试同步获取它 - 错误。 API 是异步的。照多米尼克或邓肯说的做
标签: ios objective-c cllocationmanager cllocation clregion