CLLocationManagerDelegate中的UpdatedLocation现已过时。
我如何获得此功能以及在什么新函数调用下?
OLD:
public override void UpdatedLocation (CLLocationManager manager, CLLocation newLocation, CLLocation oldLocation)
{
manager.StopUpdatingLocation ();
locationManager = null;
callback (newLocation);
}
答案 0 :(得分:3)
从iOS 6开始,您必须覆盖代理中的LocationsUpdated
方法:
public override void LocationsUpdated (CLLocationManager manager, CLLocation[] locations)
{
// Code
}
locations
参数将始终包含至少一个CLLocation
对象,最近的位置将是数组中的最后一个项目:
CLLocation recentLocation = locations[locations.Length - 1];
如果您的应用支持iOS 5,则可以保留UpdatedLocation
方法。无需其他更改,当您致电StartUpdatingLocation
和StopUpdatingLocation
时,同样适用。
Apple在CLLocationManager
的{{1}}方法here的文档中对此进行了解释。