我是iPhone开发的新手。我想知道CLLocationManager在确定当前位置时的工作过程。我已经使用以下代码来查找当前位置。
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.delegate = self; // Tells the location manager to send updates to this object
[locationManager startUpdatingLocation];
在
- (void)locationManager: (CLLocationManager *)manager didUpdateToLocation: (CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{ }
我确定了lat和long值并加载了当前位置。
工作正常。如果在更新到新位置后,是否会再次调用以获取当前位置?如果iPhone无法找到当前位置,那么会再次搜索当前位置吗?
我想知道两种情况
如果iPhone确定当前位置。
如果iPhone无法确定当前位置。
答案 0 :(得分:2)
根据CoreLocationManager reference
位置服务返回一个 初始位置一样快 可能,返回缓存的信息 有空的时候。交货后 初始事件通知, CLLocationManager对象可以传递 如果最低限度的其他事件 阈值距离(由...指定) distanceFilter属性)是 超出或更准确的位置 价值确定。
这似乎表明(1)您可能在仍在尝试确定当前位置时收到缓存的位置信息,(2)您可能会收到多次更新,因为它可以更准确地确定位置。