在mkuserlocation上,如何在viewForAnnotation中显示自己的自定义消息

时间:2011-06-19 06:08:29

标签: ios4 mkmapview mkannotation

我想在viewForAnnotation中显示自定义消息而不是“我的位置”。我该怎么做?

由于 德肖恩

3 个答案:

答案 0 :(得分:2)

MKMapView的委托中,实施方法mapView:viewForAnnotation并检查注释是否为MKUserLocation类型。如果是,请更改注释的标题和副标题属性。标注将自动拉出新值。或者您可以创建一个全新的视图并将其返回。

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    if ([annotation isKindOfClass:[MKUserLocation class]]) {
        annotation.title = @"I am here";
        return nil;
    }
    return nil;
}

免责声明:我尚未测试此代码。

答案 1 :(得分:1)

可以通过更新Title的{​​{1}}属性来完成。

由于MKUserLocation协议不需要将MKAnnotation作为属性,所以将作为参数传递的注释转换为Title并设置属性

MKUserLocation

答案 2 :(得分:1)

直接简单地指它也有效,就像这样......

mapView.userLocation.title = @"I am here";

这可以在您引用地图视图的任何地方完成。