addAnnotation 不更新地图?
addAnnotation not updating Map?
我创建了以下方法来将图钉添加到我的地图视图。我试过调用它来让它添加单个引脚,但是当我从不同的视图控制器调用它时它什么也没做?
-(void)addPins:(NSDecimalNumber*) woX ycoord:(NSDecimalNumber*) woY {
CLLocationCoordinate2D coordinate;
coordinate.latitude = 35;
coordinate.longitude = -80;
MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
[annotation setCoordinate:coordinate];
[annotation setTitle:@"Title"];
[self.mapView addAnnotation:annotation];
}
我可以从 DetailViewController 的 viewDidLoad 调用它,它会显示单个引脚:
[self addPins:woX ycoord:woY];
但是当我从 MasterViewController 调用它时没有任何显示,但会记录评论所以我知道它是 运行?
DetailViewController *firstController = [[DetailViewController alloc] init];
[firstController addPins:woX ycoord:woY];
我认为发生这种情况是因为当您调用 [firstController addPins:woX ycoord:woY];
时地图对象尚未加载到内存中,您可以尝试像这样延迟后调用它吗 [firstController performSelectorWithObjects:@[woX, woY] afterDelay:1.0f]
祝你好运
安娜走在正确的道路上。我正在创建 DetailViewController 的新实例。
我可以通过添加
来解决它
@property (strong, nonatomic) DetailViewController *detailViewController;
到MasterViewController.h。然后只需调用
[self.detailViewController addPins:woX ycoord:woY desc:cellView];
在MasterViewController.m
我创建了以下方法来将图钉添加到我的地图视图。我试过调用它来让它添加单个引脚,但是当我从不同的视图控制器调用它时它什么也没做?
-(void)addPins:(NSDecimalNumber*) woX ycoord:(NSDecimalNumber*) woY {
CLLocationCoordinate2D coordinate;
coordinate.latitude = 35;
coordinate.longitude = -80;
MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
[annotation setCoordinate:coordinate];
[annotation setTitle:@"Title"];
[self.mapView addAnnotation:annotation];
}
我可以从 DetailViewController 的 viewDidLoad 调用它,它会显示单个引脚:
[self addPins:woX ycoord:woY];
但是当我从 MasterViewController 调用它时没有任何显示,但会记录评论所以我知道它是 运行?
DetailViewController *firstController = [[DetailViewController alloc] init];
[firstController addPins:woX ycoord:woY];
我认为发生这种情况是因为当您调用 [firstController addPins:woX ycoord:woY];
时地图对象尚未加载到内存中,您可以尝试像这样延迟后调用它吗 [firstController performSelectorWithObjects:@[woX, woY] afterDelay:1.0f]
祝你好运
安娜走在正确的道路上。我正在创建 DetailViewController 的新实例。
我可以通过添加
来解决它@property (strong, nonatomic) DetailViewController *detailViewController;
到MasterViewController.h。然后只需调用
[self.detailViewController addPins:woX ycoord:woY desc:cellView];
在MasterViewController.m