2012-02-21 71 views
0

我有一个场景,我搜索当前位置。一旦当前位置搜索开始我使用“startMonitoringSignificantLocationChanges”我得到didUpdateToLocation委托调用,我得到一个位置值。didUpdateToLocation停止位置更新并再次启动后不会调用

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

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

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

我已初始化位置管理器,并已将期望的精度设置为“kCLLocationAccuracyNearestTenMeters”,distanceFilter设置为“10.0f”。

为什么我无法调用“didUpdateToLocation”委托来弯曲位置更新并重新启动它。

请任何机构帮我...

期待从你们中的任何一个肯定的答复。

谢谢。

回答

2

您应该使用startUpdatingLocation代替startMonitoringSignificantLocationChanges。只有当位置发生重大变化时,startMonitoringSignificantLocationChanges才会调用didUpdateToLocation。

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

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

[locationManager startUpdatingLocation]; 
+0

嗨肯戈..是的,你是对的..它的工作..感谢很多。 – 2012-02-27 04:54:45