如何在Android的Google Maps v2上方添加标记文本?

5

我制作了一款安卓应用程序,我想在标记上方(或下方)添加文本。我找到了这个链接How to add text above a marker on Google Maps?,但它是针对旧版的Google地图API的。所以我想知道我们是否可以使用新版API实现同样的功能?

我曾尝试使用以下代码来实现:

    Bitmap.Config conf = Bitmap.Config.ARGB_8888;
    Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.pin_favoris).copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(bm);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setTextSize(25);
canvas.drawText("Favoris", 0, bm.getHeight(), paint); // paint defines the text color, stroke width, size
BitmapDrawable draw = new BitmapDrawable(getResources(), bm);
Bitmap drawBmp = draw.getBitmap();
// gMap.moveCamera(CameraUpdateFactory.newLatLngZoom(fakeMarker, 15));
gMap.addMarker(new MarkerOptions()
        .position(fakeMarker)
        .icon(BitmapDescriptorFactory.fromBitmap(drawBmp))
        );

但是文本只能以位图形式显示(不能在上方/下方显示)!

你最终搞定了吗?我也需要做这个。 - Paul Alexander
3个回答

13

如果你只需要在标记上方添加文本,可以像这样操作:

mMap.addMarker(new MarkerOptions().position(point).title(
           "fsdfsdf sdfsdf")).showInfoWindow();

2
我正在添加多个标记,这个方法可以工作,但只显示一个标记的信息窗口。有没有什么方法可以显示所有的信息窗口? - Ari
我也遇到了相同的问题:“它只显示一个标记”。 - sushant singh

1
你试过这个吗:

gMap.addMarker(new MarkerOptions()
    .position(fakeMarker)
    .title("Favoris")
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_favoris))
);

3
是的,但是标题功能会添加一个信息窗口。我不想要一个窗口,我只想在我的标记上方有一个TextView。 - mrroboaat

0

我已经测试了缩放方法,如下所示: canvas.scale(1, 1); 但是没有任何变化。如果我使用更大的值,则我的文本将不再出现。 - mrroboaat
尝试创建一个更大的位图,然后将这两个“组件”绘制到其中。 - D-32

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接