Я хочу показать аннотацию булавки на новом контроллере представления, когда кнопка "карта" нажата на контроллере представления верхнего уровня.
Поэтому я использовал метод "IBAction" в файле методов контроллера верхнего уровня, как показано ниже.
Тогда значения широты и долготы появились нормально (в NSLog) из списка свойств.
Но я не вижу аннотации булавки на новом контроллере представления.
Однако, если я добавлю код, помеченный «code for viewDidLoad», на новый контроллер представления (с именем «location»), то я смогу увидеть примечание к выводу.
Но значение широты и долготы составляет всего 0,00000.
Я думаю, что переменная не используется двумя контроллерами представления.
Пожалуйста, помогите мне решить эту проблему.
- (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;
myAnnotation1.title=@"Destination";
myAnnotation1.subtitle=@"in the city";
[self.mapView addAnnotation:myAnnotation1];
// the code end
location *lm= [[location alloc] initWithNibName:@"location" bundle:nil];
[self.navigationController pushViewController:lm animated:YES];