0

因此,我查看了 Apple 获取用户位置的示例代码。这对我来说很好,它的显示位置是正确的。

现在我想在我创建的名为“zipCode”的文本字段中显示邮政编码。我该怎么做?

试过:

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations {
    CLLocation *location = [locations objectAtIndex:0];
    NSLog(@"lat%f - lon%f", location.coordinate.latitude, location.coordinate.longitude);
    zipCode.text = self.placemark.postalCode;
}

但这没有用。

4

2 回答 2

2

您需要使用 reverseGeocodeLocation,例如:

- (void)locationManager:(CLLocationManager *)manager
     didUpdateLocations:(NSArray *)locations {

    CLLocation *location = [locations objectAtIndex:0];
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:location completionHandler:
     ^(NSArray* placemarks, NSError* error){
         if ([placemarks count] > 0)
         {
             CLPlacemark *placemark = [placemarks objectAtIndex:0];
             zipCode.text = placemark.postalCode;
         }
     }];
}

记得导入 CoreLocation.framework

于 2012-12-18T08:32:12.283 回答
0

如果您想要关于地图上某个位置的隐蔽信息,则必须使用反向地理编码。
都写在这里了

于 2012-12-18T08:42:58.180 回答