我是一名有用的助手,可以为您翻译文本。
我有一个视图控制器,从应用程序委托中获取用户的纬度和经度坐标。这个很好用,但我还需要用户的城市、州和时区。我知道我应该使用CLGeocoder来实现这一点(请参见代码的最后一部分),但不知道如何将其组合起来。我只需要城市、州和时区的NSStrings。有人有任何指针或示例吗?谢谢!
在我的应用程序委托中,我使用CCLocationManager获取坐标,如下所示:
- (NSString *)getUserCoordinates
{
NSString *userCoordinates = [NSString stringWithFormat:@"latitude: %f longitude: %f",
locationManager.location.coordinate.latitude,
locationManager.location.coordinate.longitude];
locationManager = [[CLLocationManager alloc] init];
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];
return userCoordinates;
}
- (NSString *)getUserLatitude
{
NSString *userLatitude = [NSString stringWithFormat:@"%f",
locationManager.location.coordinate.latitude];
return userLatitude;
}
- (NSString *)getUserLongitude
{
NSString *userLongitude = [NSString stringWithFormat:@"%f",
locationManager.location.coordinate.longitude];
return userLongitude;
}
在我的视图控制器中,我使用以下代码获取用户的纬度和经度作为NSString:
NSString *userLatitude =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate
getUserLatitude];
NSString *userLongitude =[(PDCAppDelegate *)[UIApplication sharedApplication].delegate
getUserLongitude];
我想获取城市、州和时区信息。我知道需要使用CLGeocoder,但不知道如何将它们结合起来:
CLGeocoder * geoCoder = [[CLGeocoder alloc] init];
[geoCoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks,
NSError *error) {
for (CLPlacemark * placemark in placemarks) {
NSString *locality = [placemark locality];
}
}