我有一个按钮操作,其中核心位置方法正常工作
我只是想当我不允许位置并再次按下按钮然后出现UIAlertView,再次询问允许启用位置
我不知道我放了什么代码让我的位置再次出现。有人帮助我
hare是我源代码的示例 -
- (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
}
}

{{1}}
答案 0 :(得分: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.
}