ボタンを押すだけでユーザーの初期位置を保存する iPhone アプリを作成しようとしています。その後、後でボタンを押すと、MapView 内の最初の場所に関連する最終的な場所が表示されます。これどうやってするの?ありがとう!
2 に答える
これは、使用場所に関するミニチュートリアルです。
ここにフレームワークを追加しますCoreLocation
最初にデリゲートを.hファイルのように設定し、この行を.hにインポートするか、.mファイルにこの行を追加します#import <CoreLocation/CoreLocation.h>
。
次に、.mで移動します。
- (void)viewDidLoad {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
}
-(void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
CLLocationCoordinate2D here = newLocation.coordinate;
NSLog(@"%f %f ", here.latitude, here.longitude);
}
また、場所を保存したい場合は、ボタンをタップしてイベントをタップし、上記の方法のようにnewLocationを取得します。locationManager
ここで、locationManager
デリゲートメソッド -(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
メソッドは、Core Locationがあなたに何か言うことがあるたびにpingされます。これは、数秒ごとに発生するはずです。これらのCLLocationオブジェクトには精度に関する情報が含まれているため、そのメソッドの良い点を選別できます。必ず電話[locationManager stopUpdatingLocation]
して、いつか電話してください[locationManager release]
!
これはかなり広い質問です。
このタスクにはいくつかの要素があります。
- 場所を取得します。
- 場所をどこかに保存しています。
- 場所を取得しています。
まず、CLLocationManagerを見てください。
2 番目と 3 番目の場合、おそらく最も簡単なオプションはNSUserDefaultsです。