0

私は MKMapView を持っていて、マップを設定しようとしています。そのため、最初にアプリケーションをロードすると、ユーザーが設定した場所に移動し、ユーザーが設定していない場合はデフォルトの場所に移動します。問題は、常に 0 緯度、0 経度になるように見えることです。

-(void) viewDidLoad {

  [worldView setShowsUserLocation:YES];

  double longitude = [[NSUserDefaults standardUserDefaults] doubleForKey:WhereamiNewLongPrefKey];

  double latitude = [[NSUserDefaults standardUserDefaults] doubleForKey:WhereamiNewLatPrefKey];

  CLLocationCoordinate2D savedLoc = CLLocationCoordinate2DMake(latitude, longitude);

  MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(savedLoc, 250, 250);

  NSLog(@"latitude :%f", region.center.latitude);      
  NSLog(@"longitude :%f", region.center.longitude);

  [worldView setRegion:region animated:YES];
}

に設定しようとしましsetShowUserLocationNOが、うまくいきません。NSLogがデフォルトの緯度を出力しているため、正しい地域を読み取っていることはわかっていますが、マップは中国のどこかに行くことを主張しています...

で地域を設定しようとしましたmapView:didUpdateUserLocation:が、それでも同じ結果です。

私は何を間違っていますか?

編集:NSLog経度も出力するように追加しました。出力は次のとおりです。

2012-11-14 09:50:30.699 Whereami[34256:13d03] latitude :20.516700
2012-11-14 09:50:30.699 Whereami[34256:13d03] longitude :99.900000
4

1 に答える 1

0
CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = 20.516700;
theCoordinate.longitude = 99.900000;

MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(theCoordinate, 1000, 1000);
MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:viewRegion];  
[self.mapView setRegion:adjustedRegion animated:YES];
于 2012-11-14T16:41:15.567 に答える