【问题标题】:CLLocation Current Location get Location [closed]CLLocation 当前位置获取位置 [关闭]
【发布时间】:2012-10-30 21:06:40
【问题描述】:

我在这里看到了许多 currentLocation 问题,但我尝试使用两个单独的 IBAction 设置两个点,因为据我了解,核心位置 updateLocation 方法无法测量用户选择的两个点之间的距离。例如,如果该人站在城镇的一侧,他们可以单击一个按钮,然后将其设置为 locA,然后他们前往城镇的另一侧,单击另一个按钮,它将设置为 locB,当他们单击第三个按钮,它将计算两者之间的距离。关于如何实现这一点的任何想法?

我尝试过这样做:

    - (void)viewDidLoad
    {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    locationManager = [[CLLocationManager alloc] init];
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    [locationManager startUpdatingLocation];
    }

    - (void)didReceiveMemoryWarning
    {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

       - (IBAction)setPointOne{

     locA = [[CLLocation alloc] initWithLatitude:locationManager.location.coordinate.latitude longitude:locationManager.location.coordinate.longitude];


    }
     - (IBAction)setPointTwo{

        locB = [[CLLocation alloc] initWithLatitude:locationManager.location.coordinate.latitude      longitude:locationManager.location.coordinate.longitude];


    }
    - (IBAction)calculateDistance{

     CLLocationDistance distance = [locA distanceFromLocation:locB];

     totalDistance.text = [NSString stringWithFormat:@"Distance: %f Meters", distance];
     [locA release];
     [locB release];
   }

当我这样做时,所有按钮都会导致崩溃

这是崩溃日志:

-[ViewController 位置]:发送到实例的无法识别的选择器 0x1fd36b60 2012-11-10 16:38:38.567 MeasureIt[3043:907] * 终止 应用程序由于未捕获的异常“NSInvalidArgumentException”,原因: '-[ViewController 位置]:发送到实例的无法识别的选择器 0x1fd36b60' * 第一次抛出调用栈:(0x3a4f42a3 0x343e397f 0x3a4f7e07 0x3a4f6531 0x3a44df68 0x337110a5 0x33711057 0x33711035 0x337108eb 0x33710de1 0x336395f1 0x33626801 0x3362611b 0x388095a3 0x388091d3 0x3a4c9173 0x3a4c9117 0x3a4c7f99 0x3a43aebd 0x3a43ad49 0x388082eb 0x3367a2f9 0xd5a27 0x37ca6b20) libc++abi.dylib: 终止调用 抛出异常(lldb)

【问题讨论】:

  • 你需要问一个问题。你刚刚发表了一些声明。你想问什么?
  • 就像你解释的那样实现它。如果您在实施时遇到实际问题,请告诉我们您尝试了什么以及遇到了什么问题。
  • 崩溃日志说什么? (顺便说一句,你应该在提问时始终包括这一点)。
  • 检查我的答案,我添加了它@sosborn
  • 现在看看你的问题。每当您提出问题时,这就是应该的样子。现在,查看崩溃日志。它告诉您您的应用程序正在 ViewController 上调用一个名为 location 的方法。这就是崩溃发生的地方。

标签: ios core-location cllocation cllocationdistance


【解决方案1】:

“位置”函数未实现或在错误对象上调用。查看您的代码在哪里调用 [ViewController location] 并确保它已实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-13
    • 2011-07-15
    • 1970-01-01
    • 2015-07-31
    • 2016-05-15
    • 1970-01-01
    • 2014-05-20
    相关资源
    最近更新 更多