4

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

4

1 回答 1

0

看起来您可以从逐项叠加中覆盖 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;
    }

问候, 斯蒂芬

于 2011-06-01T02:54:18.557 回答