上位レベルのビューコントローラで[マップ]ボタンをクリックしたときに、新しいビューコントローラにピン注釈を表示したいとします。2つのViewController間でマップキットの変数を共有するにはどうすればよいですか?
私は下のように上位レベルのコントローラのメソッドファイルで "IBAction"メソッドを使用しました。 次に、緯度と経度の値が(NSLogの)プロパティリストから正常に表示されました。 しかし、私は新しいビューコントローラでピン注釈を見ることができません。
しかし、「viewDidLoadのコード」というコードを新しいビューコントローラ(「location」という名前)に配置すると、ピンの注釈が表示されます。 しかし、緯度と経度の値は0.00000です。
変数が2つのView Controller間で共有されていないと思います。 この問題を解決するのを手伝ってください。
- (IBAction) goAddView:(id)sender {
// the code for viewDidLoad
double myLat = [[drink objectForKey:lati_KEY] doubleValue];
double myLong = [[drink objectForKey:long_KEY] doubleValue]; CLLocationCoordinate2D theCoordinate;
theCoordinate.latitude = myLat;
theCoordinate.longitude = myLong;
NSLog(@"the latitude = %f",theCoordinate.latitude);
NSLog(@"the longitude = %f",theCoordinate.longitude);
myAnnotation *myAnnotation1=[[myAnnotation alloc] init];
myAnnotation1.coordinate=theCoordinate;
[email protected]"Destination";
[email protected]"in the city";
[self.mapView addAnnotation:myAnnotation1];
// the code end
location *lm= [[location alloc] initWithNibName:@"location" bundle:nil];
[self.navigationController pushViewController:lm animated:YES];
感謝をあなたの答えは大変です。私はもっと勉強する必要があります。あなたに幸せな新年と幸運:-)どうもありがとう。 –