【发布时间】:2011-01-27 16:30:09
【问题描述】:
我是 iPhone SDK 开发的新手,我正在尝试使用 MapKit 创建一个应用程序,我已经完成了第一步,我想为应用程序添加多个引脚和注释,但我在这里迷路了。
以下是代码,我如何在此代码中添加更多引脚
-(void)viewDidLoad{
[super viewDidLoad];
[mapView setMapType:MKMapTypeStandard];
[mapView setZoomEnabled:YES];
[mapView setScrollEnabled:YES];
MKCoordinateRegion region={{0.0,0.0,},{0.0,0.0}};
region.center.latitude = 26.438047;
region.center.longitude = 50.116422;
region.span.latitudeDelta=0.01f;
region.span.longitudeDelta=0.01f;
[mapView setRegion:region animated:YES];
[mapView setDelegate:self];
DisplayMap *ann = [[DisplayMap alloc] init];
ann.title = @"Corporate Office";
ann.subtitle =@"King Khalid Street";
ann.coordinate=region.center;
[mapView addAnnotation:ann];
}
-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:
(id <MKAnnotation>) annotation{
MKPinAnnotationView *pinView=nil;
if (annotation != mapView.userLocation) {
static NSString *defaultPinID = @"com.invasivecode.pin";
pinView = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
if (pinView ==nil) pinView = [[[MKPinAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];
pinView.pinColor=MKPinAnnotationColorRed;
pinView.canShowCallout=YES;
pinView.animatesDrop=YES;
pinView.calloutOffset= CGPointMake(-5, 5);
}
else {
[mapView.userLocation setTitle:"I am here"];
}
return pinView;
}
【问题讨论】:
-
添加第一个引脚的方式相同。有什么问题?顺便说一句,你应该在 addAnnotation 之后做
[ann release];。 -
嗨,我尝试了几件事 [ann release];并用不同的变量重做代码并尝试for循环没有帮助吗?
-
显示你尝试过的for循环(将其添加到问题中)。