相关疑难解决方法(0)

如何在地图首次加载时自动打开地图上的注释标注?

我有一个基于导航的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: …

iphone annotations objective-c mapkit callouts

6
推荐指数
1
解决办法
3794
查看次数

标签 统计

annotations ×1

callouts ×1

iphone ×1

mapkit ×1

objective-c ×1