Java 识别触发onTap调用的地质点

Java 识别触发onTap调用的地质点,java,android,google-maps,google-maps-markers,Java,Android,Google Maps,Google Maps Markers,我正在Android上开发谷歌地图应用程序。我通过将许多地质点作为叠加项添加到ItemizedOverlay中来显示它们。这对于显示它们和在我单击它们时显示一个漂亮的框非常有效,但是我尝试将信息放入它显示的框中 因此,我用自己的类扩展了ItemizedOverlay,并覆盖了onTap(最终地理点p,最终地图视图MapView)。起初,我认为这将非常简单,因为其中一个参数是GeoPoint,所以我将确切地知道单击了哪个GeoPoint。然而,据我所知,GeoPoint参数是用户实际触摸的位置的G

我正在Android上开发谷歌地图应用程序。我通过将许多地质点作为叠加项添加到ItemizedOverlay中来显示它们。这对于显示它们和在我单击它们时显示一个漂亮的框非常有效,但是我尝试将信息放入它显示的框中

因此,我用自己的类扩展了ItemizedOverlay,并覆盖了
onTap(最终地理点p,最终地图视图MapView)
。起初,我认为这将非常简单,因为其中一个参数是GeoPoint,所以我将确切地知道单击了哪个GeoPoint。然而,据我所知,GeoPoint参数是用户实际触摸的位置的GeoPoint。考虑到用户可以触摸并仍然触发
onTap
的范围,该地质点对于准确知道实际触摸的是哪个地质点没有多大帮助

我目前正在对照所有现有的地质点检查参数GeoPoint,并查看它最接近哪个。这看起来像是一个非常粗糙的抽象反转。有没有更好的方法来了解实际点击的是什么?

而不是
onTap(最终地质点p,最终地图视图地图视图)
您应该覆盖该方法:

@Override
protected boolean onTap(int index){
    //you code here
}
其中
index
将指向右侧的
OverlayItem


关于。

我正在覆盖onTap(int index)和onTap(final GeoPoint p,final MapView MapView),并且使用日志,永远不会调用索引一。有没有办法让它被调用呢?处理触摸事件的回调应该返回
true
,如果它们处理了触摸事件,它将不会被进一步调度。如果返回
false
,则触摸未被处理,它将被发送到其他回调或视图。因此,在您的情况下,如果不需要,只需删除其中一个
onTouch
,或者在第一个调用中返回false。太棒了,非常感谢!为了节省其他人的最后一点研究,在索引到叠加项后,getPoint实际上会从叠加项中提取一个地质点。