我想通过CLLocationCoordinate2D
获取位置,并使用以下代码
//newLocation is a CLLocationCoordinate2D object
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:newLocation completionHandler:
^(NSArray *placemarks, NSError *error){
CLPlacemark *placemark = [placemarks objectAtIndex:0];
self.locationInput.text =placemark.subLocality;
self.locationInput.text =placemark.ISOcountryCode;
}];
但返回的地标是nil,错误描述是kCLErrorDomain error = 8
答案 0 :(得分:1)
此处记录了返回值。
8号是“kCLErrorGeocodeFoundNoResult”,所以我怀疑你正在搜索没有结果的东西。我在别处读过CLGeocoder只在设备上运行(不是模拟器),但我自己没有验证过。如果您确定搜索字符串应该获得结果,请在设备上试用您的代码。
答案 1 :(得分:0)
我的问题是我正在使用连接到泰国服务器的VPN,试图在英国邮政编码上进行reverseGeocodeLocation。 当我将VPN切换到英国服务器时,它运行良好。