Тень маркера MapView - PullRequest
       29

Тень маркера MapView

3 голосов
/ 18 августа 2010

Я добавляю разные маркеры на мою карту ...

Drawable drawable = app1.getResources().getDrawable(R.drawable.test);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
OverlayItem overlayitem2 = new OverlayItem(mark, "Test", "t");
overlayitem2.setMarker(drawable);
app1.mapOverlay.addOverlay(overlayitem2);
app1.mapOverlays.add(app1.mapOverlay);

, которая работает, но тень находится в неправильном положении.

alt text

Ответы [ 3 ]

11 голосов
/ 18 августа 2010

Я использую это:

int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();
drawable.setBounds(-w / 2, -h, w / 2, 0);
5 голосов
/ 29 ноября 2011

Я знаю, что на этот вопрос уже отвечали некоторое время назад, но я подумал, что должен указать, что в классе ItemizedOverlay есть метод bounded_enterBottom (Drawable), который выполняет функцию setBounds.Есть также метод boundCenter (Drawable).

0 голосов
/ 23 апреля 2012

Просто добавьте эти строки в расширенный класс ItemizedOverlay.

Пример

public class My_MapOverlay extends ItemizedOverlay<OverlayItem> { 

    @Override
    public void draw(Canvas canvas, MapView mapView, boolean shadow) {
        super.draw(canvas, mapView, false);
    }

    public My_MapOverlay(Drawable arg0) {
        super(arg0);
    }
}
...