これには数日かかります..私はそれを機能させることができませんでした. 以下のようにマップ上にピンを配置するメソッドを作成します。
- (void) SetMaps:(NSString *)Lats :(NSString *)lons;
{
if([upLo isEqualToString:@"Y"])
{
NSLog(@"setting maps:%@,%@",Lats,lons);
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } };
region.center.latitude = [Lats doubleValue] ;
region.center.longitude = [lons doubleValue];
region.span.longitudeDelta = 0.01f;
region.span.latitudeDelta = 0.01f;
[mapView setRegion:region animated:YES];
[mapView setDelegate:self];
MKPointAnnotation *point = [[MKPointAnnotation alloc] init];
point.coordinate = region.center;
[self.mapView addAnnotation:point];
}
}
このメソッドは、タブ バー コントロール アプリケーションの secondViewController.m で呼び出すとうまく動作します。
でも、appdelegate.m から呼び出したい。だから appdelegate.m に、
secondViewController *Gper=[[secondViewController alloc]init];
[Gper SetMaps:LAT:LON];
[Gper release];
この NSLog(@"setting maps:%@,%@",Lats,lons) から; このメソッドで緯度と経度の値が正しいことがわかります。ただし、マップはこの場所に変更されません。
新しい場所を表示するにはどうすればよいですか?
助けてくれてありがとう。