4

ItemizedOverlay の Draw メソッドでカスタム シェイプを描画しようとしています。描画された形状の onTap イベントを取得することは可能ですか? 現在、onTap はデフォルトのドローアブル/マーカーで動作します。Draw メソッドで描画された形状に対して機能させるにはどうすればよいですか?

4

1 に答える 1

0

アイテム化されたオーバーレイから hittest メソッドをオーバーライドできるようです。

メソッドをテストに置き換えて、シェイプにヒットしたかどうかを確認します。後で他の人のためにここにあなたのソリューションを投稿してください。

元のアンドロイド版はこちら

    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 に答える