我正在Android上开发Google地图应用。我通过将它们作为OverlayItems添加到ItemizedOverlay来显示我正在显示的许多GeoPoints。当我点击它们时,这很适合显示它们并打开一个漂亮的盒子,但是我试图将信息放在它带来的盒子里。
因此,我使用自己的类扩展了ItemizedOverlay,并且我正在覆盖onTap (final GeoPoint p, final MapView mapView)
。起初我认为这很简单,因为其中一个参数是GeoPoint,所以我确切地知道点击了哪个GeoPoint。但是,据我所知,GeoPoint参数中存在用户实际触摸的GeoPoint。考虑到用户可以触摸的范围并仍然触发onTap
,GeoPoint对于准确了解实际触摸的GeoPoint并不是很有帮助。
我目前正在针对我现有的GeoPoints检查参数GeoPoint并查看它最接近的地址。这似乎是一个超级hacky抽象反转。有没有更好的方法来了解实际拍摄的内容?
答案 0 :(得分:1)
而不是onTap (final GeoPoint p, final MapView mapView)
你应该覆盖方法:
@Override
protected boolean onTap(int index){
//you code here
}
index
将指向右侧OverlayItem
。
问候。