Могу ли я персонализировать элементы моего mapview? - PullRequest
0 голосов
/ 25 ноября 2010

у меня есть mapview с itemizedoverlay, как в примере mapview в руководстве разработчика Android

У меня есть свой значок на предметах, но я также хочу персонализировать их, добавив немного текста, а не только значок. Но я имею в виду текст, видимый на карте, а не когда я нажимаю на элемент

я могу это сделать? как?

1 Ответ

1 голос
/ 26 ноября 2010

в этом переопределенном методе ondraw (подклассы ItemizedOverlay) я рисую растровое изображение значка, а над растровым изображением рисую круглый прямоугольник с текстом (текст элемента), но с помощью canvas вы можете делать все, что захотите.

if(!shadow){
            for (OverlayItem item : items) {
                Point point = new Point();
                proj.toPixels(item.getPoint(), point);
                TextPaint tPaint = new TextPaint();
                tPaint.setColor(Color.BLACK);
                tPaint.setStrokeWidth(20);
                Paint paint = new Paint();
                paint.setColor(Color.YELLOW);
                float measure = tPaint.measureText( item.getTitle() );
                float hMeasure = measure /2;
                RectF rf = new RectF(point.x-hMeasure, point.y-40, point.x+hMeasure, point.y-20 );
                canvas.drawRoundRect(rf, 5, 5, paint);
                canvas.drawText(item.getTitle(), point.x-hMeasure, point.y-25, tPaint);
                draw.setBounds(point.x-hWidth,point.y-hHeight,point.x+hWidth,point.y+hHeight);
                draw.draw(canvas);
            }
        }

ура

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...