我有一个带有itemizedoverlay的mapview,就像在androids开发人员指南中的mapview示例一样
我在项目上有自己的图标,但我也想个性化它们,添加一些文字,而不仅仅是图标。但我的意思是文字在地图上可见,而不是当我按下项目时
我能做到吗?如何?答案 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);
}
}
欢呼声