首页 > 解决方案 > 向地图添加不带图标的标记

问题描述

我正在实现一个 Uber 克隆应用程序,并且正在使用 Google Maps Api。

我想在地图上添加一些标记,但我不希望它有一个图标,只是一个显示预计到达时间的标签。知道如何实现吗?

我试图将图标设置为空,但是当我这样做时,我的标题也没有显示!

标签: androidgoogle-mapsgoogle-maps-markers

解决方案


你需要做的是将一个字符串变成一个图标,然后像图标一样显示,然后显示为标签。

因此,要从文本创建 BitMapDescriptor(用于图标):

IconGenerator icg = new IconGenerator(this);
icg.setColor(Color.GREEN);
icg.setTextAppearance(R.style.TextAppearance_AppCompat_Small);
Bitmap bm = icg.makeIcon("ETA: 3m");
markerOpts.icon(BitmapDescriptorFactory.fromBitmap(bm));

// set position and other props on markerOpts and add
mMap.addMarker(markerOpts);

请注意,title如果需要(但不是必需的),也可以添加该属性并按预期工作 - 单击图标并显示标题。

您还可以随时使用 Marker 对象更新图标(使用新的 ETA)并按上述方式设置图标。

这里讨论了其他方法(上面的代码片段来自):Map Markers with text in Google Maps Android API v2


初始标记显示:

在此处输入图像描述

单击后带有标题:

在此处输入图像描述


推荐阅读