Когда я нахожу ближайшие рестораны в приложении Google Maps для Android, название ресторана по умолчанию отображается рядом со значком маркера. (См. Изображение Google).
Но в моем приложении мне нужно сделать то же самое, когда я ищу ближайшие рестораны, я могу отображать только значки маркеров. (См. изображение моего приложения).
Изображение Google:
Мое изображение приложения:
Частичное решение: здесь я нашел частичное решение для этого, мы получаем это, рисуя текст с помощью холста. Я использовал приведенный ниже код, ссылаясь на эти ссылки здесь и здесь Но рисунок на холсте вырезал из моего текста. Обратитесь к прикрепленному изображению TextDrawn Image
Marker myLocMarker = map.addMarker(new MarkerOptions()
.position(myLocation)
.icon(BitmapDescriptorFactory.fromBitmap(writeTextOnDrawable(R.drawable.bluebox, "your text goes here"))));
private Bitmap writeTextOnDrawable(int drawableId, String text) {
Bitmap bm = BitmapFactory.decodeResource(context.getResources(), drawableId)
.copy(Bitmap.Config.ARGB_8888, true);
Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.BLACK);
paint.setTextAlign(Paint.Align.CENTER);
paint.setLinearText(true);
paint.setAntiAlias(true);
paint.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
paint.setTextSize(35);
Rect textRect = new Rect();
paint.getTextBounds(text, 0, text.length(), textRect);
Canvas canvas = new Canvas(bm);
//Calculate the positions
// int xPos = (canvas.getWidth() / 2) - 2; //-2 is for regulating the x position offset
//"- ((paint.descent() + paint.ascent()) / 2)" is the distance from the baseline to the center.
// int yPos = (int) ((canvas.getHeight() / 2) - ((paint.descent() + paint.ascent()) / 2)) ;
canvas.drawText(text, canvas.getHeight() + 2, canvas.getHeight() + 2, paint);
return bm;
}
paint.setTextSize(35);
на другие значения? - person Flame_Phoenix   schedule 08.09.2016