【发布时间】:2015-04-29 19:33:37
【问题描述】:
我们的设计师为我提供了在地图上显示的自定义图标。我们的 MapView 将同时显示其中的几个图标。
棘手的部分:每个图标上面都应该有一个文本来显示它是什么——并且所有图标应该总是同时显示这个文本。
所以我知道有 .showInfoWindow(),但它一次只显示一个窗口并且只显示 onclick。
我发现了这个 SO 帖子: Map Markers with text in Google Maps Android API v2
但那是使用谷歌的库,它只能使用彩色矩形作为文本持有者,而不是像我这样的图标和上面的文本。
搜索,我发现了几个想法,但似乎没有一个可行。我的最后一次尝试:
LatLng pos = new LatLng(lat, lng);
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.icon).copy(Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(bm);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.WHITE);
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(11));
canvas.drawText(item.getString("name"), 10, -20, paint);
Marker marker = mMap.addMarker(new MarkerOptions()
.position(pos)
.title(item.getString("name"))
.icon(
BitmapDescriptorFactory.fromBitmap(bm)
)
);
但我还是只能看到图标,看不到文字。
【问题讨论】:
-
drawText 中的 10 和 -20 是什么?阅读 drawText() 文档以了解它是如何工作的
-
我认为你的最后一次尝试应该有效,它必须是填充和位置
-
@pskink 对,我的想法在这里是错误的 - 改为 10、20。 kaho 确实有效,但不行。我在标记图标上方看到一些文字,但它几乎不可读 - 它没有背景颜色。我需要设置彩色背景以使文本可读,但不知道该怎么做。此外,文本当前被剪切到图标的宽度。它应该扩大....
标签: android google-maps marker