我正在 Android 上开发谷歌地图应用程序。我通过将它们作为 OverlayItems 添加到 ItemizedOverlay 来显示许多 GeoPoints。这很适合显示它们并在我单击它们时显示一个漂亮的框,但是我试图将信息放入它显示的框中。
因此,我用我自己的类扩展了 ItemizedOverlay,并且我覆盖了onTap (final GeoPoint p, final MapView mapView)
. 起初我以为这会很简单,因为其中一个参数是 GeoPoint,所以我会确切地知道点击了哪个 GeoPoint。但是,据我所知,GeoPoint 参数是用户实际触摸位置的 GeoPoint。鉴于用户可以触摸并仍然触发 的范围onTap
,该 GeoPoint 对于准确了解实际触摸了哪个 GeoPoint 并不是很有帮助。
我目前正在根据我所有现有的 GeoPoints 检查参数 GeoPoint 并查看它最接近哪个。这似乎是一个超级 hacky 的抽象反转。有没有更好的方法来了解实际被窃听的内容?