I am using the below code to get coordinates on click of a button
-(CLLocationCoordinate2D) getLocation{
    CLLocationCoordinate2D coordinate;
    CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    if ([CLLocationManager locationServicesEnabled]) {
        locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        locationManager.distanceFilter = kCLDistanceFilterNone;
        [locationManager startUpdatingLocation];
        [locationManager startUpdatingLocation];
        CLLocation *location = [locationManager location];
        coordinate = [location coordinate];
    }
    else {
        coordinate.latitude = 0.0;
        coordinate.longitude = 0.0;
    }
    return coordinate;
}
When the button is clicked for the first time, I do get my valid coordinates, but if I click the button again, The latitude and longitude values are 0.0000 Any suggestions