Osmbonuspack: показать имя маркера на карте
Используя пакет nice / new osmbonuspack:
Есть ли способ показать имя (или название) маркера сразу на карте?
Итак, не нажимая на маркер.
2 ответа
Решение
Спасибо, MKer, за расширение класса.
Ниже это моя реализация, показывающая текст на карте. Надеюсь, что это помогает другим.
public class MarkerWithLabel extends Marker {
Paint textPaint = null;
String mLabel = null;
public MarkerWithLabel(MapView mapView, String label) {
super( mapView);
mLabel = label;
textPaint = new Paint();
textPaint.setColor( Color.RED);
textPaint.setTextSize(40f);
textPaint.setAntiAlias(true);
textPaint.setTextAlign(Paint.Align.LEFT);
}
public void draw( final Canvas c, final MapView osmv, boolean shadow) {
draw( c, osmv);
}
public void draw( final Canvas c, final MapView osmv) {
super.draw( c, osmv, false);
Point p = this.mPositionPixels; // already provisioned by Marker
c.drawText( mLabel, p.x, p.y+20, textPaint);
}
}
В коде вы можете добавить:
marker = new MarkerWithLabel( mv, label);
marker.setTitle( label);
etc