0

我正在 Android 上开发谷歌地图应用程序。我通过将它们作为 OverlayItems 添加到 ItemizedOverlay 来显示许多 GeoPoints。这很适合显示它们并在我单击它们时显示一个漂亮的框,但是我试图将信息放入它显示的框中。

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

我目前正在根据我所有现有的 GeoPoints 检查参数 GeoPoint 并查看它最接近哪个。这似乎是一个超级 hacky 的抽象反转。有没有更好的方法来了解实际被窃听的内容?

4

1 回答 1

1

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

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

哪里index会指向右边OverlayItem

问候。

于 2012-11-28T23:49:30.367 回答