CLLocationManager的按钮操作(当前位置弹出)

时间:2012-10-24 11:10:42

标签: iphone objective-c ios xcode cllocationmanager

我在寻找当前位置时遇到了一些小小的困难,而在使用CLLocationManager时,它会要求提供一个通知,例如“你想使用当前位置”吗?在那里有两个选项:1.OK 2.Dont允许。是否有可能为这两个按钮编写自定义动作...如果有任何想法做这个并且与此相关,那么对我来说非常有用..

提前感谢...

2 个答案:

答案 0 :(得分:0)

制作这样的方法并将其附加到您的按钮或从viewDidLoad

调用它
-(void) showLocation
{
  // put an alerview to ask user for allow/disallow
}

//在alerView委托方法中,再次是按钮启用用户当前位置

答案 1 :(得分:0)

我认为您无法覆盖此警报的操作。但是,您可以实现CLLocationManager的委托方法

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error;

在那里,您可以了解用户是否为您的应用启用了位置服务。

以下是上述方法的实现示例

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {

    [self.locationManager stopUpdatingLocation];
    switch([error code]) {
        case kCLErrorDenied:
            //User has not enabled location services for this app.
            break;
        case kCLErrorLocationUnknown:
            //location could not be found
            break;
        default:
            //some other issue
            break;
    }

    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"An error title"
                                                    message:@"An error message"
                                                    delegate:nil
                                            cancelButtonTitle:@"OK"
                                            otherButtonTitles:nil];
    [alert show];

}