Reverse geocode CLGeocoder from a given location

Given the longitude and latitude is not my current location , how do I perform a reverse geocoding search using GLGeocoder ?

 self.geoCoder = [[CLGeocoder alloc] init]; self.locationManager = [[CLLocationManager alloc] init]; self.locationManager.delegate = self; // [self.locationManager startUpdatingLocation]; [self.geoCoder reverseGeocodeLocation: locationManager.location completionHandler: ^(NSArray *placemarks, NSError *error) { // [self.locationManager stopUpdatingLocation]; CLPlacemark *placemark = [placemarks objectAtIndex:0]; // Long address // NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; // Short address NSString *locatedAt = [placemark subLocality]; cell.textLabel.text = spot.name; cell.detailTextLabel.text = [NSString stringWithFormat:@"Cab no: %@, spotted at %@", spot.cabno, locatedAt]; }]; 

Obviously, only ever geocoding my location, but I need to explicitly set the longitude and latitude to cancel.

+4
source share
2 answers

I have never tried this, but can you create your own CLLocation object?

If you know the current longitude and latitude, you can -

 CLLocation *location = [[CLLocation alloc]initWithLatitude:someValue longitude:someValue]; [self.geoCoder reverseGeocodeLocation: location completionHandler: ^(NSArray *placemarks, NSError *error) { //do something }); 
+7
source

If you are using a simulator, you can debug> location> Custom Location, and then put in lat long to simulate a location anywhere.

0
source

Source: https://habr.com/ru/post/1442716/


All Articles