停止位置更新并再次启动后,未调用didUpdateToLocation

时间:2012-02-21 17:16:37

标签: iphone cllocationmanager

我有一个场景,我搜索当前位置。一旦当前位置搜索开始我使用“startMonitoringSignificantLocationChanges”我得到didUpdateToLocation委托调用,我得到一个位置值。

搜索结束后,我使用“stopMonitoringSignificantLocationChanges”来关闭GPS。

我的问题是我可能会在一段时间后进行不同的位置搜索,当它完成时,我会在GPS开启后再次开始搜索当前位置但是“didUpdateToLocation”未被调用。

我在视图控制器中完成所有这些操作。

我已经初始化了位置管理器,并将desiredAccuracy设置为“kCLLocationAccuracyNearestTenMeters”,并将distanceFilter设置为“10.0f”。

为什么我无法在弯曲位置更新并再次启动时调用“didUpdateToLocation”委托。

请任何人帮助我......

期待你们任何人的积极回应。

谢谢。

1 个答案:

答案 0 :(得分:2)

您应该使用startUpdatingLocation而不是startMonitoringSignificantLocationChanges。 startMonitoringSignificantLocationChanges仅在位置发生重大变化时调用didUpdateToLocation。

if (locationManager == nill)
    locationManager = [[CLLocationManager alloc] init];

locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
locationManager.distanceFilter = 10;

[locationManager startUpdatingLocation];