如何解决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;
}
问候,
斯特凡
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。