识别触发onTap调用的GeoPoint

时间:2012-11-28 17:01:48

标签: java android google-maps google-maps-markers

我正在Android上开发Google地图应用。我通过将它们作为OverlayItems添加到ItemizedOverlay来显示我正在显示的许多GeoPoints。当我点击它们时,这很适合显示它们并打开一个漂亮的盒子,但是我试图将信息放在它带来的盒子里。

因此,我使用自己的类扩展了ItemizedOverlay,并且我正在覆盖onTap (final GeoPoint p, final MapView mapView)。起初我认为这很简单,因为其中一个参数是GeoPoint,所以我确切地知道点击了哪个GeoPoint。但是,据我所知,GeoPoint参数中存在用户实际触摸的GeoPoint。考虑到用户可以触摸的范围并仍然触发onTap,GeoPoint对于准确了解实际触摸的GeoPoint并不是很有帮助。

我目前正在针对我现有的GeoPoints检查参数GeoPoint并查看它最接近的地址。这似乎是一个超级hacky抽象反转。有没有更好的方法来了解实际拍摄的内容?

1 个答案:

答案 0 :(得分:1)

而不是onTap (final GeoPoint p, final MapView mapView)你应该覆盖方法:

@Override
protected boolean onTap(int index){
    //you code here
}

index将指向右侧OverlayItem

问候。