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

Конечно! Очень просто:

myMarker.showInfoWindow();
Другие вопросы по тегам