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

时间:2013-03-25 09:22:23

标签: android google-maps-android-api-2

我制作了一个Android应用程序,我想在标记上方(或下方)添加文本。我找到了这个链接How to add text above a marker on Google Maps?,但它是针对谷歌地图的旧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))
        );

但文本只能显示在位图中(不在上方/下方)!

3 个答案:

答案 0 :(得分:12)

如果您只需要在标记上方添加文字,请执行以下操作:

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

答案 1 :(得分:1)

你试过这个:

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

答案 2 :(得分:0)

为什么不让你的Bitmap / Canvas更大,然后你可以在标记上方绘制文字。

这应该有所帮助:How to increase Canvas size in Android?