Когда я нахожу ближайшие рестораны в приложении 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;
        } 








