我有一个基于导航的iPhone应用程序,我正在使用它,允许用户在地图上查看表格中的选择.我有一个注释,可以精确定位用户在地图上的选定位置.按照正常行为,如果用户单击注释,则会显示一个标注,其中包含有关该位置的详细信息.这里没问题.
我的问题是,一旦用户进入包含地图的屏幕,我希望标注自动从注释中显示,这样用户就不必点击注释就能看到有关位置的详细信息,但我不知道该怎么做.我在"MapViewController"类中有以下方法,其中执行了大量的地图显示工作:
- (void)viewDidLoad {
[super viewDidLoad];
MKCoordinateRegion region;
MKCoordinateSpan span;
NavButtonAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
userCoord = delegate.userLocation.coordinate;
region.center = userCoord;
span.latitudeDelta = 0.4;
span.longitudeDelta = 0.4;
region.span = span;
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
mapView.showsUserLocation = YES;
[mapView setRegion:region animated:YES];
RestaurantAnnotation *rAnnotation = [[RestaurantAnnotation alloc] init];
rAnnotation.title = restaurantObj.name;
rAnnotation.subtitle = restaurantObj.address;
rAnnotation.subtitle = [restaurantObj.address stringByAppendingFormat:@" %@", restaurantObj.hours];
rAnnotation.subtitle = [restaurantObj.address stringByAppendingFormat:@" %@", restaurantObj.phoneNumber];
CLLocationCoordinate2D newCoord = {restaurantObj.latitude, restaurantObj.longitude};
rAnnotation.coordinate = newCoord;
[mapView addAnnotation:rAnnotation];
}
Run Code Online (Sandbox Code Playgroud)
从上一个屏幕中的以下方法调用MapViewController: …