Ios CLLocation当前位置获取位置
我在这里看到了许多currentLocation问题,但我尝试使用两个独立的iAction设置两点,因为据我所知,Core Location updateLocation方法无法测量用户选择的两点之间的距离。例如,如果一个人站在城镇的一侧,他们可以单击一个按钮,它将设置为locA,然后他们前往城镇的另一侧,单击另一个按钮,它将设置为locB,当他们单击第三个按钮时,它将计算两者之间的距离。关于如何实现这一点有什么想法吗 我试着这样做:Ios CLLocation当前位置获取位置,ios,core-location,cllocation,cllocationdistance,Ios,Core Location,Cllocation,Cllocationdistance,我在这里看到了许多currentLocation问题,但我尝试使用两个独立的iAction设置两点,因为据我所知,Core Location updateLocation方法无法测量用户选择的两点之间的距离。例如,如果一个人站在城镇的一侧,他们可以单击一个按钮,它将设置为locA,然后他们前往城镇的另一侧,单击另一个按钮,它将设置为locB,当他们单击第三个按钮时,它将计算两者之间的距离。关于如何实现这一点有什么想法吗 我试着这样做: - (void)viewDidLoad {
- (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];
}
当我这么做的时候,所有的按钮都会导致崩溃
下面是崩溃日志:
-[视图控制器位置]:发送到实例的选择器无法识别
0x1fd36b60 2012-11-10 16:38:38.567测量[3043:907]*终止
应用程序由于未捕获异常“NSInvalidArgumentException”,原因:
'-[ViewController位置]:发送到实例的选择器无法识别
0x1fd36b60'
*第一次抛出调用堆栈:(0x3A4 F42A3 0x343e397f 0x3A4 F7E07 0x3A4 F6531 0x3A4 DF68 0x337110a5 0x33711057 0x33711035 0x337108eb
0x33710de1 0x336395f1 0x33626801 0x3362611b 0x388095a3 0x388091d3
0x3a4c9173 0x3a4c9117 0x3a4c7f99 0x3a43aebd 0x3a43ad49 0x388082eb
0x3367a2f9 0xd5a27 0x37ca6b20)libc++abi.dylib:终止调用
正在引发异常(lldb)
函数“location”未实现或在错误的对象上调用。查看您的代码调用[ViewController location]的位置,并确保它已实现。您需要问一个问题。你刚才说了一些话。你想问什么?按照你解释的去实现它。如果您在实现它时遇到实际问题,请告诉我们您尝试了什么以及您遇到了什么问题。崩溃日志上说了什么?(顺便说一句,当你问问题的时候,你应该把它包括在内。)检查我的答案,我在@Sosborn上加了它现在看看你的问题。这就是当你问问题时应该做的事情。现在,看看坠机日志。它告诉您,您的应用程序正在调用ViewController上名为location的方法。这就是坠机发生的地方。