3

ユーザーの場所を特定するために、CoreLocation フレームワーク (私は現在 OSX アプリ (wifi のおかげで場所が特定されています) に取り組んでいますが、私の質問は iOS アプリにも適用される可能性があります) と次のデリゲート メソッドを使用します。

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation

何らかの理由でユーザーの場所が見つからない場合 (たとえば、ユーザーのコンピューターがインターネットに接続されていない場合)、次のメソッドが呼び出されます。

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

この場合、最後に確認されたユーザーの場所を取得したいと考えています。この最後の既知の場所を取得する方法があるかどうか疑問に思います。以前に決定された場所の配列がどこかにありますか?

4

1 に答える 1

0

公式ドキュメントを参照してください:

http://developer.apple.com/library/ios/ipad/#documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html#//apple_ref/doc/c_ref/CLLocation

それに応じて、

@property(readonly, nonatomic) CLLocation *location

位置データが取得されたことがない場合、このプロパティの値はnilです。iOS 4.0以降では、このプロパティには起動時に最新のロケーションオブジェクトが含まれる場合があります。具体的には、重要な場所の更新が実行されていてアプリケーションが終了した場合、このプロパティは、アプリケーションが再起動されたとき(および新しい場所マネージャーオブジェクトを作成したとき)に最新の場所データで更新されます。このロケーションデータは、アプリケーションによって処理された最後のロケーションイベントよりも新しい可能性があります。

したがって、これが最後の既知の場所を取得する唯一の方法です。nilでない場合は、使用できます。

于 2012-12-29T17:54:38.537 に答える