{
...
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
}
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
NSLog(@"myLocation1: %@",[locations lastObject]);
myLocation = [locations lastObject];
NSLog(@"myLocation2: %@",[locations lastObject]);
[manager stopUpdatingLocation];
[self doSomethingWithLocation];
}
現在、私は40.000,40.000の場所にいます。アプリを閉じて、場所を 10.000,10.000 に変更します
アプリを再度起動し[locationManager startUpdatingLocation];
てログを実行すると、次のように表示されます。
myLocation1: <+40.00000000,+40.00000000>
myLocation2: <+40.00000000,+40.00000000>
もう一度トリガー[locationManager startUpdatingLocation];
すると、ログに次のように表示されます。
myLocation1: <+10.00000000,+10.00000000>
myLocation2: <+10.00000000,+10.00000000>
didUpdateLocations
一度電話をかけただけで現在地を取得するにはどうすればよいですか? 別のデリゲートを使用する必要がありますか?
適切な場所を更新するために、何らかの遅延の後に配置して実行することもできると思いますが、それは意図された方法ではないと確信してstopUpdatingLocation
いdoSomethingWithLocation
ます.doSomethingWithLocation
ありがとう