Skip to main content

How To GET CURREN LOCATION ON MAP in Objective C


GET CURREN LOCATION ON MAP

///  Using CoreLocation.framework

File..h
---------

#import <CoreLocation/CoreLocation.h>

@interface ReceiveJobView : UIViewController<CLLocationManagerDelegate>
{
      CLLocationManager *locationManager;
}
@end

-------------
File..m
-------------

#import <CoreLocation/CoreLocation.h>

- (void)viewDidLoad
{
     UIToolbar* numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
     numberToolbar.barStyle = UIBarStyleBlackTranslucent;
     numberToolbar.items = [NSArray arrayWithObjects:
     [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace           target:nil action:nil],
     [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace         target:nil action:nil],
     [[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self              action:@selector(doneWithNumberPad)],nil];
     [numberToolbar sizeToFit];
     txtCurrentLocation.inputAccessoryView = numberToolbar;
     // txtCurrentLocation.text=[self getAddressFromLatLon:22.2721 withLongitude:72.265];

     /////

     locationManager = [[CLLocationManager alloc] init];
     locationManager.delegate = self;
     locationManager.desiredAccuracy = kCLLocationAccuracyBest;
     locationManager.distanceFilter = kCLDistanceFilterNone;
     [locationManager startUpdatingLocation];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
      if (!newLocation) return;

      if ((oldLocation.coordinate.latitude != newLocation.coordinate.latitude) &&                           (oldLocation.coordinate.longitude != newLocation.coordinate.longitude))
      {
            CLLocation *loc2 = [[CLLocation alloc] initWithLatitude:newLocation.coordinate.latitude                     longitude:newLocation.coordinate.longitude];
            // NSLog(@"current latitude :%f",loc2.coordinate.latitude);
            CLGeocoder *ceo = [[CLGeocoder alloc]init];
            CLLocation *loc = [[CLLocation alloc]initWithLatitude:loc2.coordinate.latitude             longitude:loc2.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);
     txtCurrentLocation.text=locatedAt;

  }];

 [locationManager stopUpdatingLocation];

     }
}


Comments

Popular Posts

What are the Alternatives of device UDID in iOS? - iOS7 / iOS 6 / iOS 5 – Get Device Unique Identifier UDID

Get Device Unique Identifier UDID Following code will help you to get the unique-device-identifier known as UDID. No matter what iOS user is using, you can get the UDID of the current iOS device by following code. - ( NSString *)UDID { NSString *uuidString = nil ; // get os version NSUInteger currentOSVersion = [[[[[UIDevice currentDevice ] systemVersion ] componentsSeparatedByString: @" . " ] objectAtIndex: 0 ] integerValue ]; if (currentOSVersion <= 5 ) { if ([[ NSUserDefaults standardUserDefaults ] valueForKey: @" udid " ]) { uuidString = [[ NSUserDefaults standardDefaults ] valueForKey: @" udid " ]; } else { CFUUIDRef uuidRef = CFUUIDCreate ( kCFAllocatorDefault ); uuidString = ( NSString *) CFBridgingRelease ( CFUUIDCreateString ( NULL ,uuidRef)); CFRelease (uuidRef); [[ NSUserDefaults standardUserDefaults ] setObject: uuidString ForKey: @" udid " ]; [[ NSUserDefaults standardUserDefaults ] synchro...

An introduction to Size Classes for Xcode 8

Introduction to Size Classes for Xcode In iOS 8, Apple introduced  size classes , a way to describe any device in any orientation. Size classes rely heavily on auto layout. Until iOS 8, you could escape auto layout. IN iOS8, Apple changed several UIKit classes to depend on size classes. Modal views, popovers, split views, and image assets directly use size classes to determine how to display an image. Identical code to present a popover on an iPad  causes a iPhone to present a modal view. Different Size Classes There are two sizes for size classes:  compact , and  regular . Sometime you’ll hear about any.  Any  is the generic size that works with anything. The default Xcode layout, is  width:any height:any . This layout is for all cases. The Horizontal and vertical dimensions are called  traits , and can be accessed in code from an instance of  UITraitCollection . The  compact  size descr...

Reloading UITableView while Animating Scroll in iOS 11

Reloading UITableView while Animating Scroll Calling  reloadData  on  UITableView  may not be the most efficient way to update your cells, but sometimes it’s easier to ensure the data you are storing is in sync with what your  UITableView  is showing. In iOS 10  reloadData  could be called at any time and it would not affect the scrolling UI of  UITableView . However, in iOS 11 calling  reloadData  while your  UITableView  is animating scrolling causes the  UITableView  to stop its scroll animation and not complete. We noticed this is only true for scroll animations triggered via one of the  UITableView  methods (such as  scrollToRow(at:at:animated:) ) and not for scroll animations caused by user interaction. This can be an issue when server responses trigger a  reloadData  call since they can happen at any moment, possibly when scroll animation is occurring. Example of s...