我想在viewForAnnotation中显示自定义消息而不是“我的位置”。我该怎么做?
由于 德肖恩
答案 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";
这可以在您引用地图视图的任何地方完成。