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パラメータには常に少なくとも 1 つのオブジェクトが含まれ、CLLocation最新の場所が配列の最後の項目になります。

CLLocation recentLocation = locations[locations.Length - 1];

アプリが iOS 5 をサポートしている場合は、UpdatedLocationメソッドを保持できます。StartUpdatingLocation他に変更は必要ありません。とを呼び出す場合も同じことが適用されますStopUpdatingLocation

これについては、 Apple のCLLocationManagerstartUpdatingLocationメソッドに関するドキュメントで説明されています

于 2012-11-07T06:55:41.523 に答える