2017-02-17 4 views

Antwort

1

Übergeben Sie den aktualisierten CLLocation-Wert in der nachstehenden Methode. Es gibt verschiedene Informationen, die Sie von CLPlacemark

-(void)getLocationDetails:(CLLocation *)location{ 
    CLGeocoder *reverseGeocoder = [[CLGeocoder alloc] init]; 
     [reverseGeocoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) { 
     CLPlacemark *myPlacemark = [placemarks objectAtIndex:0]; 
     NSString *countryCode = myPlacemark.ISOcountryCode; 
     NSString *countryName = myPlacemark.country; 
     NSString *cityName= myPlacemark.subAdministrativeArea; 
     NSLog(@"My country code: %@ and countryName: %@ MyCity: %@", countryCode, countryName, cityName); 
    }]; 
} 
+0

es zeigt Codewort und Codewort ist auch falsch .... – sp309

+0

Als ich versuchte, CLLocation * location = [[CLLocation alloc] initWithLatitude: 19,0760 Länge: 72,8777]; es gibt mir * Meine Landesvorwahl: IN und countryName: Indien MyCity: Mumbai * – kb920

+0

Geben Sie mir Ihren Breitengradwert, den Sie versuchen. – kb920

1

Staat placemark.administrativeArea erhalten werden unter Verwendung erhalten können.

CLLocation *loc = [[CLLocation alloc]initWithLatitude:coordinate.latitude longitude:coordinate.longitude 
        ]; 
[ceo reverseGeocodeLocation:loc 
      completionHandler:^(NSArray *placemarks, NSError *error) { 
       CLPlacemark *placemark = [placemarks objectAtIndex:0]; 
       NSLog(@"placemark %@",placemark); 
       //String to hold address 
       NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; 
       NSLog(@"addressDictionary %@", placemark.addressDictionary); 

       NSLog(@"placemark %@",placemark.region); 
       NSLog(@"placemark %@",placemark.country); // Give Country Name 
       NSLog(@"placemark %@",placemark.locality); // Extract the city name 
       NSLog(@"location %@",placemark.name); 
       NSLog(@"location %@",placemark.ocean); 
       NSLog(@"location %@",placemark.postalCode); 
       NSLog(@"location %@",placemark.subLocality); 

       NSLog(@"location %@",placemark.location); 
       //Print the location to console 
       NSLog(@"I am currently at %@",locatedAt); 

       NSLog(@"state name %@",placemark.administrativeArea); 
       _City.text=[placemark.addressDictionary objectForKey:@"City"]; 
       [locationManager stopUpdatingLocation]; 
      } 

]; 
} 
1

Sie können es Reverse Geo-Code erhalten werden. Siehe untenstehendes Beispiel:

geocoder = [[CLGeocoder alloc] init]; 

//newlocation is CLLocation object you need to pass user location there. 

[geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) { 
     if (error == nil && [placemarks count] > 0) { 
      placemark = [placemarks lastObject]; 
      // placemark.administrativeArea is state of use 

     } else { 
      NSLog(@"%@", error.debugDescription); 
     } 
    }]; 

Von CLPlacemark.h: // Placemark Wörterbuch enthalten andere Informationen des Benutzers wird wie unten angezeigt.

@property (nonatomic, readonly) NSString *name; // eg. Apple Inc. 
@property (nonatomic, readonly) NSString *thoroughfare; // street address, eg. 1 Infinite Loop 
@property (nonatomic, readonly) NSString *subThoroughfare; // eg. 1 
@property (nonatomic, readonly) NSString *locality; // city, eg. Cupertino 
@property (nonatomic, readonly) NSString *subLocality; // neighborhood, common name, eg. Mission District 
@property (nonatomic, readonly) NSString *administrativeArea; // state, eg. CA 
@property (nonatomic, readonly) NSString *subAdministrativeArea; // county, eg. Santa Clara 
@property (nonatomic, readonly) NSString *postalCode; // zip code, eg. 95014 
@property (nonatomic, readonly) NSString *ISOcountryCode; // eg. US 
@property (nonatomic, readonly) NSString *country; // eg. United States 
@property (nonatomic, readonly) NSString *inlandWater; // eg. Lake Tahoe 
@property (nonatomic, readonly) NSString *ocean; // eg. Pacific Ocean 
@property (nonatomic, readonly) NSArray *areasOfInterest; // eg. Golden Gate Park 
Verwandte Themen