停止iPhone上的位置更新

时间:2011-07-11 06:01:43

标签: iphone ios4 core-location

我使用以下代码来停止位置更新

[locationManager stopUpdatingLocation];
locationManager.delegate = nil;

但是在调用thing函数之后仍然没有停止位置服务并仍然试图找到位置,任何人都可以帮助我做错了。

提前感谢。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

当它不会停止更新位置时,我遇到了同样的问题。我没有尝试使代理无效,因为问题是我的“locationManager:didUpdateToLocation:fromLocation:”方法在实际停止更新位置之前调用了其他方法,我调用了自己的方法(从服务器下载对象)。没问题,直到我不得不下载太多。我想这笔交易是因为它试图下载它们太长时间而不能一次又一次地调用“didupdatelocation”。

我想到了两个解决方案(至少对我而言):

  1. 停止经理后做的事情。 - 由于某些原因这不起作用,我仍然有多个电话。
  2. 异步做事。 - 这似乎对我有用。
  3. 我希望这会有所帮助。

答案 2 :(得分:-2)

通常使用的代码[locationManager stopUpdatingLocation];应该工作停止更新位置。但是,如果这不起作用,那么你可以有一个替代解决方案如下:

-(void)viewDidLoad

{ firstTime = TRUE; }

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

if(firstTime = TRUE)
{
    firstTime = FALSE;
    current_Latitude=newLocation.coordinate.latitude;
    current_Longitude= newLocation.coordinate.longitude;
}

}

在这里,您可以使用一个BOOL变量来检查您是否更新了位置。