問題描述:
通過使用CLLocationManager得到當前城市和國家的名稱。 解決方案: [plain] - (void) getReverseGeocode { CLGeocoder *geocoder = [[CLGeocoder alloc] init]; if(currentLatLong.count > 0) { CLLocationCoordinate2D myCoOrdinate; myCoOrdinate.latitude = LatValue; myCoOrdinate.longitude = LangValue; CLLocation *location = [[CLLocation alloc] initWithLatitude:myCoOrdinate.latitude longitude:myCoOrdinate.longitude]; [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { if (error) { NSLog(@"failed with error: %@", error); return; } if(placemarks.count > 0) { NSString *MyAddress = @""; NSString *city = @""; if([placemark.addressDictionary objectForKey:@"FormattedAddressLines"] != NULL) MyAddress = [[placemark.addressDictionary objectForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; else MyAddress = @"Address Not founded"; www.2cto.com if([placemark.addressDictionary objectForKey:@"SubAdministrativeArea"] != NULL) city = [placemark.addressDictionary objectForKey:@"SubAdministrativeArea"]; else if([placemark.addressDictionary objectForKey:@"City"] != NULL) city = [placemark.addressDictionary objectForKey:@"City"]; else if([placemark.addressDictionary objectForKey:@"Country"] != NULL) city = [placemark.addressDictionary objectForKey:@"Country"]; else city = @"City Not founded"; NSLog(@"%@",city); NSLog(@"%@", MyAddress); } }]; } }