我想在MKAnnotation中添加更多详细信息,例如位置标题,说明,日期,位置名称。所以需要四条线。但我发现只有2个参数可以传递给MKAnnotation,它们是标题和副标题。如何在地图上添加更多详细信息? Plz帮帮我..谢谢。
答案 0 :(得分:15)
看看创建自定义MKAnnotationView
对象......它基本上是为地图注释量身定制的UIView
。在该对象中,您可以拥有4个自定义标签。
在MKMapViewDelegate
课程中,您实施了viewForAnnotation
方法:
- (CustomMapAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
CustomMapAnnotationView *annotationView = nil;
// determine the type of annotation, and produce the correct type of annotation view for it.
CustomMapAnnotation* myAnnotation = (CustomMapAnnotation *)annotation;
NSString* identifier = @"CustomMapAnnotation";
CustomMapAnnotationView *newAnnotationView = (CustomMapAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:identifier];
if(nil == newAnnotationView) {
newAnnotationView = [[[CustomMapAnnotationView alloc] initWithAnnotation:myAnnotation reuseIdentifier:identifier] autorelease];
}
annotationView = newAnnotationView;
[annotationView setEnabled:YES];
[annotationView setCanShowCallout:YES];
return annotationView;
}
这将显示您的自定义视图,只要您有注释...如果您需要一步一步的教程,check out this video。
希望这会有所帮助
修改强>
我实际上只是在apple开发网站上找到了一个新的Maps example ...拥有您需要完成的所有源代码。他们还使用名为MKAnnotationView
WeatherAnnotationView