5

我制作了一个 android 应用程序,我想在标记上方(或下方)添加文本。我找到了这个链接如何在谷歌地图上的标记上方添加文本?但它适用于谷歌地图的旧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))
        );

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

4

3 回答 3

13

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

mMap.addMarker(new MarkerOptions().position(point).title(
           "fsdfsdf sdfsdf")).showInfoWindow();
于 2013-04-24T18:50:13.467 回答
1

你试过这个:

gMap.addMarker(new MarkerOptions()
    .position(fakeMarker)
    .title("Favoris")
    .icon(BitmapDescriptorFactory.fromResource(R.drawable.pin_favoris))
);
于 2013-03-25T09:34:04.937 回答
0

为什么不只是让你的位图/画布更大,然后你可以在标记上方绘制你的文本。

这应该会有所帮助:如何在 Android 中增加 Canvas 大小?

于 2013-03-25T12:30:15.997 回答