Android 如何在地图上用画布和颜料书写超过10个字母的文字?
标记一些标记,并使用画布和在地图上绘制添加名称。但我能看到的文字只有9个字符其余的隐藏(不可见)。怎么做Android 如何在地图上用画布和颜料书写超过10个字母的文字?,android,google-maps,canvas,paint,Android,Google Maps,Canvas,Paint,标记一些标记,并使用画布和在地图上绘制添加名称。但我能看到的文字只有9个字符其余的隐藏(不可见)。怎么做 private Bitmap drawTitleOnMarkerIcon(MarkingInfo markingInfo) { Bitmap bm = BitmapFactory.decodeResource(getResources(), AddLocationTypeIcon.getIcon(markingInfo.getType())).copy( Bi
private Bitmap drawTitleOnMarkerIcon(MarkingInfo markingInfo) {
Bitmap bm = BitmapFactory.decodeResource(getResources(), AddLocationTypeIcon.getIcon(markingInfo.getType())).copy(
Bitmap.Config.ARGB_8888, true);
Canvas canvas = new Canvas(bm);
Paint paint = new Paint();
paint.setColor(Color.BLUE);
paint.setAntiAlias(true);
paint.setFakeBoldText(true);
paint.setTextSize(16);
paint.setTextAlign(Align.LEFT);
canvas.drawText(markingInfo.getName(), 0, 60, paint);
BitmapDrawable draw = new BitmapDrawable(getResources(), bm);
return draw.getBitmap();
}
我应该能够看到完整的文本,当我有超过15个字符,我只需要把它包装到下一行。搜索了许多网站,并张贴了以前的查询,但我没有得到解决方案。请帮助完成此任务我需要在标记附近添加名称,该名称在地图打开时应始终可见,但您的链接正在信息窗口中获取名称
private Bitmap textAsBitmap(String text, float textSize, int textColor) {
Paint paint = new Paint();
paint.setTextSize(textSize);
paint.setColor(textColor);
paint.setFakeBoldText(true);
paint.setTextAlign(Paint.Align.LEFT);
int width = (int) (paint.measureText(text) + 0.5f); // round
float baseline = (int) (-paint.ascent() + 0.5f); // ascent()is negative
int height = (int) (baseline + paint.descent() + 0.5f);
Bitmap image = Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(image);
canvas.drawText(text, 0, baseline, paint);
return image;
}
MarkerOptions().title(Name()).icon(BitmapDescriptorFactory.fromBitmap(textAsBitmap));