Update Location in Mapview Xcode

前端 未结 2 1181
我在风中等你
我在风中等你 2021-01-26 05:37

In my current project.

I need user\'s location at every 50 meter user move.

So Basically After open application every 50 meter change I

相关标签:
2条回答
  • 2021-01-26 06:12
    1. You have to make object of CLLocationManager when application starts and set it's delegate

    Add the below code to get user's current location

    CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];
    
    1. Now add the delegate of CLLocationManagaer that is didUpdateToLocation and add the following code in that.

      CLLocationDistance meters = [newLocation distanceFromLocation:oldLocation];

      if(meters==50)
      {
          // CALL YOU WEBSERVICE
      }
      
    0 讨论(0)
  • 2021-01-26 06:14

    set your location track in

    //create location manager object
    locationManager = [[CLLocationManager alloc] init];
    
    //there will be a warning from this line of code
    [locationManager setDelegate:self];
    
    //and we want it to be as accurate as possible
    //regardless of how much time/power it takes
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
    
    //set the amount of metres travelled before location update is made
    [locationManager setDistanceFilter:50];
    

    and add

    if ([CLLocationManager locationServicesEnabled]) {
        [self.locationManager startUpdatingLocation];
    }
    

    Update

    -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
    CLLocation *location = locations.lastObject;
    NSLog(@"%@", location.description);
    
     //In here you get all details like
    
       NSLog(@"latitude = %@",location.coordinate.latitude);
       NSLog(@"longitude = %@",location.coordinate.longitude);
       NSLog(@"altitude = %@",location.altitude);
       NSLog(@"horizontalAccuracy = %@",location.horizontalAccuracy);
       NSLog(@"verticalAccuracy = %@",location.verticalAccuracy);
       NSLog(@"timestamp = %@",location.timestamp);
       NSLog(@"speed = %@",location.speed);
       NSLog(@"course = %@",location.course);
    
    }
    
    0 讨论(0)
提交回复
热议问题