Событие OnClick на canvas.drawCircle для Android - PullRequest
0 голосов
/ 31 мая 2011

Я хочу отобразить несколько кругов на картах Google в моем приложении для Android.

Я хочу, чтобы, когда пользователь нажимал на эти кружки, на них отображался тост, основанный на щелчке по кружку.

Я использую code.google.android.maps.overlay, чтобы отобразить кружок на определенном лат / долг.

Я не могу найти решение.

1 Ответ

1 голос
/ 31 мая 2011

Расширение класса ItemizedOverlay

public class MapItemizedOverlay extends ItemizedOverlay {

    private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
    private Drawable myPic;
    private Activity mapActivity;

    public MapItemizedOverlay(Drawable defaultMarker, Activity context) {
    super(boundCenterBottom(defaultMarker));
    this.mapActivity = context;
    this.myPic = defaultMarker;
}

    protected boolean onTap(int index) {
        OverlayItem item = mOberlays.get(index);
        ... //Toast code
    }

    public void addOverlay(OverlayItem overlay) {
        mOverlays.add(overlay);
        populate();
    }

    @Override
    protected OverlayItem createItem(int i) {
        return mOverlays.get(i);
    }

    @Override
    public int size() {
        return mOverlays.size();
    }
}

Это класс, который обрабатывает элементы оверлея.Там вы можете реализовать метод onTap () - и показывать тосты.

В MapActivity вы просто создаете этот MapitemizedOverlay и добавляете свои элементы.

MapItemizedOverlay itemizedoverlay = new MapItemizedOverlay(circleDrawable, this);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...