我制作了一个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))
);
但文本只能显示在位图中(不在上方/下方)!
答案 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更大,然后你可以在标记上方绘制文字。