我可以个性化我的mapview项目吗?

时间:2010-11-25 13:01:27

标签: android google-maps

我有一个带有itemizedoverlay的mapview,就像在androids开发人员指南中的mapview示例一样

我在项目上有自己的图标,但我也想个性化它们,添加一些文字,而不仅仅是图标。但我的意思是文字在地图上可见,而不是当我按下项目时

我能做到吗?如何?

1 个答案:

答案 0 :(得分:1)

关于这个覆盖的ondraw方法(继承ItemizedOverlay)我绘制图标位图并在位图上方绘制带有文本(项目文本)的圆形矩形,但是使用画布你可以做任何你想做的事。

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);
            }
        }

欢呼声