Android MapView ItemizedOverlay绘制onTap

问题描述

| 我正在尝试在itemizedoverlay的Draw方法中绘制自定义形状。是否有可能为绘制的形状获取onTap事件。 当前,onTap适用于认的可绘制/标记。如何使其适用于Draw方法中绘制的形状?     

解决方法

        看起来您可以覆盖 逐项叠加的hittest方法。 用测试替换该方法,以查看是否碰到了形状。 之后,请在此处为其他人发布您的解决方案。 这是原始的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;
    }
问候,  斯特凡