【发布时间】:2012-03-20 13:22:47
【问题描述】:
我正在根据这篇文章开发一个具有反向地理编码功能的 iOS 应用程序:geocoding tutorial
但是当我在模拟器上进行这样的测试时,我得到“kCLErrorDomain 错误 9”。我搜索了很多,只有错误 0 或 1 而不是 9。
这是我在viewDidLoad中的代码:
self.locationManager = [[CLLocationManager alloc]init];
self.locationManager.delegate = self;
self.locationManager.distanceFilter = 80.0;
[self.locationManager startUpdatingLocation];
CLGeocoder *geocoder = [[[CLGeocoder alloc] init] autorelease];
[geocoder reverseGeocodeLocation:self.locationManager.location
completionHandler:^(NSArray *placemarks, NSError *error) {
NSLog(@"reverseGeocodeLocation:completionHandler: Completion Handler called!");
if (error){
NSLog(@"Geocode failed with error: %@", error);
return;
}
if(placemarks && placemarks.count > 0)
{
//do something
CLPlacemark *topResult = [placemarks objectAtIndex:0];
NSString *addressTxt = [NSString stringWithFormat:@"%@ %@,%@ %@",
[topResult subThoroughfare],[topResult thoroughfare],
[topResult locality], [topResult administrativeArea]];
NSLog(@"%@",addressTxt);
}
}];
非常感谢。
【问题讨论】:
-
模拟器现在返回错误 8,而我没有对我的代码做任何事情。
-
CLLocationManager, CLGeocoder 不能在模拟器上工作。它只会在设备上调试或在设备上测试时显示结果。在模拟器上会显示错误。
-
这在我的 iPhone 4 设备上就像一个魅力。谢谢!
-
你必须确保你在模拟器中模拟位置
标签: ios core-location reverse-geocoding