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;
    }
问候,  斯特凡     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...