3

CLLocationManagerDelegate 中的 UpdatedLocation 现已过时。

我将如何获得此功能以及在什么新功能调用下?

老的:

        public override void UpdatedLocation (CLLocationManager manager, CLLocation newLocation, CLLocation oldLocation)
        {
            manager.StopUpdatingLocation ();
            locationManager = null;
            callback (newLocation);
        }
4

1 回答 1

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's startUpdatingLocationmethod here的文档中进行了解释。

于 2012-11-07T06:55:41.523 回答