2016-07-05 72 views
1

我有一个按钮动作,其中核心区位法的工作无法在我的应用程序

我只是想重新启用位置时,我不“T允许位置,并重新按一下按钮,然后UIAlertView中出现在它再次问允许启用位置

我不知道我穿什么码再次让我的位置。有人帮我

野兔是我的源代码 - 的

- (IBAction)geolocation:(id)sender { 
 
    if([CLLocationManager locationServicesEnabled] && 
 
     [CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied) { 
 
     // show the map 
 
     
 
    NSString *parameter = [NSString stringWithFormat:@"lat=%@&long=%@",lati,longs]; 
 
    
 
    NSURL *url_ = [[NSURL alloc]initWithString:[NSString stringWithFormat:@"http://***/near_by_api.php"]]; 
 
    
 
    NSData *postData = [[NSString stringWithFormat:@"%@",parameter] dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
 
    
 
    NSString *postLength = [NSString stringWithFormat:@"%lu", (unsigned long)[postData length]]; 
 
    
 
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
 
    [request setURL:url_]; 
 
    [request setHTTPMethod:@"POST"]; 
 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
 
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
 
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
 
    [request setHTTPBody:postData]; 
 
    
 
    NSError *error = [[NSError alloc] init]; 
 
    NSHTTPURLResponse *response = nil; 
 
    NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; 
 
    
 
    if (urlData) { 
 
       
 
     record = [NSMutableArray array]; 
 
     record = [NSJSONSerialization JSONObjectWithData:urlData options:kNilOptions error:nil]; 
 
     
 
     [self.view addSubview:third_view]; 
 
     [third_view setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
 
     [third_tbl_view reloadData]; 
 
    }}else{ 
 
     UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Location Service Disabled" message:@"Allowed location?" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",nil]; 
 
     [alert show]; 
 
    } 
 
    
 
    
 
    
 
} 
 

 
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
 
{ 
 
    if (buttonIndex == 0) 
 
    { 
 
     //code for cancel 
 
     
 

 
    } 
 
    if (buttonIndex == 1) 
 
    { 
 
     //Code for ok button 
 
     
 
     
 
        } 
 
}
样本

回答

2

如果您不允许位置,下次必须在设置中手动激活位置。您可以通过以下方式打开设置:

if (&UIApplicationOpenSettingsURLString != NULL) { 
    NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 
else { 
    // Present some dialog telling the user to open the settings app. 
}