Android 谷歌地图文本覆盖-安卓
我正试图在谷歌地图上为一些建筑物涂上如下颜色: 我可以在建筑顶部覆盖多边形对象,但我不能在其顶部应用标签(建筑ID)Android 谷歌地图文本覆盖-安卓,android,google-maps,Android,Google Maps,我正试图在谷歌地图上为一些建筑物涂上如下颜色: 我可以在建筑顶部覆盖多边形对象,但我不能在其顶部应用标签(建筑ID) 如何使用安卓系统在建筑物上覆盖如上图所示的文字?我知道这个问题有点老了,但我刚刚为自己的项目找到了解决方法,并想与大家分享一下。该方法是创建文本的位图图像,然后将其显示为多边形上的GroundOverlay,zIndex大于多边形 如果您有多边形的板条列表,可以执行以下操作: private void showText(List<LatLng> latLngList
如何使用安卓系统在建筑物上覆盖如上图所示的文字?我知道这个问题有点老了,但我刚刚为自己的项目找到了解决方法,并想与大家分享一下。该方法是创建文本的位图图像,然后将其显示为多边形上的GroundOverlay,zIndex大于多边形 如果您有多边形的板条列表,可以执行以下操作:
private void showText(List<LatLng> latLngList) {
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for (LatLng latLng : latLngList) {
builder.include(latLng);
}
googleMap.addGroundOverlay(new GroundOverlayOptions()
.positionFromBounds(builder.build())
.image(
BitmapDescriptorFactory.fromBitmap(
getBitmapFromView()
)
)
.zIndex(100)
);
}
如果您只需要文本,那么您的布局“R.layout.my_text_layout”可以是带有文本视图的布局
private Bitmap getBitmapFromView() {
View customView = ((LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.my_text_layout, null);
customView.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
customView.layout(0, 0, customView.getMeasuredWidth(), customView.getMeasuredHeight());
customView.buildDrawingCache();
Bitmap returnedBitmap = Bitmap.createBitmap(customView.getMeasuredWidth(), customView.getMeasuredHeight(),
Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(returnedBitmap);
canvas.drawColor(Color.WHITE, PorterDuff.Mode.SRC_IN);
Drawable drawable = customView.getBackground();
if (drawable != null) {
drawable.draw(canvas);
}
customView.draw(canvas);
return returnedBitmap;
}