アプリに がありMKMapView
ます。これは iOS6 です。
-(void)viewDidLoad
{
.....
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
NSLog(@"Update locations is hit");
NSLog(@"379 the locations count is %d",locations.count);
CLLocation *obj = [locations lastObject];
NSLog(@"the lat is %f", obj.coordinate.latitude);
NSLog(@"the long is %f", obj.coordinate.longitude);
NSLog(@"the horizontal accuracy is %f",obj.horizontalAccuracy);
NSLog(@"the vertical accuracty is %f",obj.verticalAccuracy);
if (obj.coordinate.latitude != 0 && obj.coordinate.longitude != 0)
{
CLLocationCoordinate2D currrentCoordinates ;
currrentCoordinates.latitude = obj.coordinate.latitude;
currrentCoordinates.longitude = obj.coordinate.longitude;
}
....more computation
[locationManager stopUpdatingLocation];
}
アプリを初めてロードしたとき、自分の位置が少し遠くに表示されます。時には何マイルも離れています。また、場所をリセットするボタンもあり、クリックするとその地図が正しい場所を示します。これは、場所のリセットボタンのクリックで私が持っているものです:
- (IBAction)btnResetLocationClick:(UIButton *)sender
{
locationManager = [[CLLocationManager alloc]init];
locationManager.delegate = self;
[locationManager setDesiredAccuracy:kCLLocationAccuracyBestForNavigation];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager startUpdatingLocation];
}
では、ロード時にアプリが正しい現在の場所を取得するにはどうすればよいですか。アプリがマップに数ミリ秒待機してから更新するように指示する方法はありますか? または他のアイデアはありますか?私にお知らせください。さらに詳しい情報が必要な場合は、お問い合わせください。ありがとう。