terreno sacar poner obtener movil mapas localizar kit google coordenadas con como iphone xcode ios5 mapkit

iphone - sacar - obtener coordenadas google maps



Quiero obtener el nombre de la ubicaciĆ³n del valor de coordenada en MapKit para iPhone (5)

Quiero obtener el nombre de la ubicación del valor de coordenadas. Aquí está el código,

- (void)viewWillAppear:(BOOL)animated { CLLocationCoordinate2D zoomLocation; zoomLocation.latitude = 39.281516; zoomLocation.longitude= -76.580806; MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(zoomLocation, 0.5*METERS_PER_MILE, 0.5*METERS_PER_MILE); MKCoordinateRegion adjustedRegion = [_mapView regionThatFits:viewRegion]; [_mapView setRegion:adjustedRegion animated:YES]; }

Entonces, desde esa latitud y longitud, quiero saber el nombre de esa ubicación.


El código de abajo funcionará en ios5 y superior

CLGeocoder *ceo = [[CLGeocoder alloc]init]; CLLocation *loc = [[CLLocation alloc]initWithLatitude:32.00 longitude:21.322]; //insert your coordinates [ceo reverseGeocodeLocation:loc completionHandler:^(NSArray *placemarks, NSError *error) { CLPlacemark *placemark = [placemarks objectAtIndex:0]; if (placemark) { 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); } else { NSLog(@"Could not locate"); } } ];


En iOS 5.0 y versiones posteriores, puede usar CLGeocoder del marco de Core Location, ya que para iOS más bajo que 5.0, MKReverseGeocoder de Map Kit Framework. ¡Buena suerte!


Usa este metodo

CLGeocoder *geocoder = [[CLGeocoder alloc] init]; [geocoder reverseGeocodeLocation: zoomLocation completionHandler:^(NSArray* placemarks, NSError* error){ } ];


Aquí está el bloque para obtener la cadena de dirección de la ubicación actual

in .h file typedef void(^addressCompletionBlock)(NSString *); -(void)getAddressFromLocation:(CLLocation *)location complationBlock:(addressCompletionBlock)completionBlock; in .m file #pragma mark - Get Address -(void)getAddressFromLocation:(CLLocation *)location complationBlock:(addressCompletionBlock)completionBlock { //Example URL //NSString *urlString = @"http://maps.googleapis.com/maps/api/geocode/json?latlng=23.033915,72.524267&sensor=true_or_false"; NSString *urlString = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=true_or_false",location.coordinate.latitude, location.coordinate.longitude]; NSError* error; NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error]; NSArray *jsonObject = [NSJSONSerialization JSONObjectWithData:[locationString dataUsingEncoding:NSUTF8StringEncoding] options:0 error:NULL]; NSString *strFormatedAddress = [[[jsonObject valueForKey:@"results"] objectAtIndex:0] valueForKey:@"formatted_address"]; completionBlock(strFormatedAddress); }

y para llamar a la función

CLLocation* currentLocation = [[CLLocation alloc] initWithLatitude:[SharedObj.current_Lat floatValue] longitude:[SharedObj.current_Long floatValue]]; [self getAddressFromLocation:currentLocation complationBlock:^(NSString * address) { if(address) { NSLog(@"Address:: %@",address); } }];


-(NSString *)getAddressFromLatLon:(double)pdblLatitude withLongitude:(double)pdblLongitude { NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%f,%f&output=csv",pdblLatitude, pdblLongitude]; NSError* error; NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error]; // NSLog(@"%@",locationString); locationString = [locationString stringByReplacingOccurrencesOfString:@"/"" withString:@""]; return [locationString substringFromIndex:6]; }