我有一个带有itemizedoverlay的mapview,就像androids开发人员指南中的mapview示例一样。
我有我自己的图标上的项目,但我也想个性化他们,添加一些文本,而不仅仅是图标。但我指的是地图上可见的文本,而不是我按下项目时显示的文本
我能做到吗?多么?
发布于 2010-11-26 08:32:20
在这个被覆盖的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);
}
}干杯
https://stackoverflow.com/questions/4277327
复制相似问题