Thursday, 10 May 2018

Address Using Latitude Longitude

Address Using Latitude Longitude




  CLLocation *LocationAtual = [[CLLocation alloc] initWithLatitude:[strSelectedLatitude floatValue] longitude:[strSelectedLongitude floatValue]];
    
    CLGeocoder *geocoder = [[CLGeocoder alloc] init] ;
    [geocoder reverseGeocodeLocation:LocationAtual
                   completionHandler:^(NSArray *placemarks, NSError *error) {
                       NSLog(@"reverseGeocodeLocation:completionHandler: Completion Handler called!");
                       
                       if (error){
                           NSLog(@"Geocode failed with error: %@", error);
                           return;
                           
                       }
                       
                       CLPlacemark *placemark = [placemarks objectAtIndex:0];
                       
                       NSString *strAdd = nil;
                       
                       if ([placemark.subThoroughfare length] != 0)
                           strAdd = placemark.subThoroughfare;
                       
                       if ([placemark.thoroughfare length] != 0)
                       {
                           // strAdd -> store value of current location
                           if ([strAdd length] != 0)
                               strAdd = [NSString stringWithFormat:@"%@, %@",strAdd,[placemark thoroughfare]];
                           else
                           {
                               // strAdd -> store only this value,which is not null
                               strAdd = placemark.thoroughfare;
                           }
                       }
                       
                       if ([placemark.locality length] != 0)
                       {
                           if ([strAdd length] != 0)
                               strAdd = [NSString stringWithFormat:@"%@, %@",strAdd,[placemark locality]];
                           else
                               strAdd = placemark.locality;
                       }
                       
                       if ([placemark.postalCode length] != 0)
                       {
                           if ([strAdd length] != 0)
                               strAdd = [NSString stringWithFormat:@"%@, %@",strAdd,[placemark postalCode]];
                           else
                               strAdd = placemark.postalCode;
                       }
                       
                       if ([placemark.administrativeArea length] != 0)
                       {
                           if ([strAdd length] != 0)
                               strAdd = [NSString stringWithFormat:@"%@, %@",strAdd,[placemark administrativeArea]];
                           else
                               strAdd = placemark.administrativeArea;
                       }
                       
                       if ([placemark.country length] != 0)
                       {
                           if ([strAdd length] != 0)
                               strAdd = [NSString stringWithFormat:@"%@, %@",strAdd,[placemark country]];
                           else
                               strAdd = placemark.country;
                       }
                       
                       txtAddress.text = strAdd ;
                       
                      
                       
                   }];







No comments:

Post a Comment