如何更改 MapView 注释中的标注气泡颜色?

Posted

技术标签:

【中文标题】如何更改 MapView 注释中的标注气泡颜色?【英文标题】:How to change the callout bubble color in MapView annotation? 【发布时间】:2013-07-10 12:18:37 【问题描述】:

我希望能够显示一个蓝色气泡(默认为黑色)用于标注标注。

无论我在哪里搜索,我都只会获得示例来实现 viewForAnnotation 委托方法,但这只会更改 annotationView 而不是顶部的气泡。

但是我希望 pinColor 是绿色的,所以我确实重写了这个方法,这里是代码。 我可以做其他事情来为 callOut 提供 backgroundImage 或更改它的 tintColor 吗?

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation

    MKPinAnnotationView *annView=[[[MKPinAnnotationView alloc]
                                  initWithAnnotation:annotation reuseIdentifier:@"pin"] autorelease];
    annView.pinColor = MKPinAnnotationColorGreen;
    [annView setEnabled:YES];
    [annView setCanShowCallout:YES];

    return annView;


这是它现在的样子:

我想让它看起来像这样:

【问题讨论】:

【参考方案1】:

ios7 上,您可以使用 mapView 上的 tintColor 属性来更改显示按钮的颜色。

【讨论】:

对于那些只遇到由于气泡的自定义颜色而无法显示的 ios7 自定义按钮的问题的人来说,这是一个很好的答案。但标记为正确的答案更适合问题!【参考方案2】:

您可以使用自定义注释,如http://blog.asynchrony.com/2010/09/building-custom-map-annotation-callouts-part-2/ 所述

【讨论】:

是的,我已经下载了示例,我正在查看它。但问题是它为其他 annotationView 显示另一个 annotationView 对吗? 这个想法是显示另一个注释视图而不是你的标注气泡,但看起来仍然像标注。从这个意义上说是的。我发现这个库非常好(快速、高效)。 该示例在其上显示了图像。但背景是黑灰色的。我可以更改背景颜色吗? 是的,你可以。如果您仔细查看该库,您会明白它为您提供了一个自定义视图,您可以轻松地设置其背景清晰颜色。然后,您可以将自定义视图添加到该视图。我建议您不要使用默认标注(尽管您想更改颜色)。您可以更好地查看:)

以上是关于如何更改 MapView 注释中的标注气泡颜色?的主要内容,如果未能解决你的问题,请参考以下文章

arcgis气泡标注箭头设置

UIView 标注气泡

如何从注释标注Xcode 9设置警报

自定义 iOS8 标注气泡 (Swift)

为啥我的地图视图标注是半透明/透明的,如何更改它的颜色?

如何在 android 中更改 EditText 气泡颜色(光标下)?