Android MapView ItemizedOverlay Draw onTap

时间:2011-06-01 01:19:58

标签: android canvas android-mapview itemizedoverlay ontouchevent

我正在尝试在ItemizedOverlay的Draw方法中绘制自定义形状。是否可以为绘制的形状获取onTap事件。 目前onTap适用于默认的drawable / marker。如何使它适用于Draw方法中绘制的形状?

1 个答案:

答案 0 :(得分:0)

看起来你可以覆盖 逐项覆盖的最热门方法。

用测试替换方法,看看你是否达到了你的形状。 请在此之后将您的解决方案发布给其他人。

这是原始的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;
    }

此致  斯特凡