Android MapView ItemizedOverlay Draw onTap - PullRequest
4 голосов
/ 01 июня 2011

Я пытаюсь нарисовать пользовательскую фигуру в методе Draw ItemizedOverlay. Можно ли получить событие onTap для нарисованной фигуры. В настоящее время onTap работает по умолчанию для рисования / маркера. Как заставить это работать для фигуры, нарисованной методом Draw?

1 Ответ

0 голосов
/ 01 июня 2011

Похоже, вы можете переопределить самый лучший метод из наложенного наложения.

Замените метод тестом, чтобы увидеть, ударили ли вы по форме. Пожалуйста, опубликуйте свое решение здесь для других позже.

Вот оригинальная версия для Android

    protected boolean hitTest(OverlayItem item, Drawable marker, int hitX, int hitY) {
            Point eventPos = new Point(hitX, hitY);
            Point itemHitPosOnDisplay = calculateItemPostionRelativeToDisplay(item.getPoint());
            Point distance = Point.substract(eventPos, itemHitPosOnDisplay);
            if (marker == null) {
                    marker = this.defaultMarker;
            }
            if (Math.abs(distance.x) < marker.getIntrinsicWidth() / 2
                            && Math.abs(distance.y) < marker.getIntrinsicHeight() / 2) {
                    return true;
            }
            return false;
    }

С уважением, Stéphane

...