java - 识别触发 onTap 调用的 GeoPoint

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

我正在 Android 上开发 Google map 应用。我有许多 GeoPoints,通过将它们作为 OverlayItems 添加到 ItemizedOverlay 来显示。这非常适合显示它们并在单击它们时弹出一个漂亮的框,但是我试图将信息放入它弹出的框中。

因此,我用自己的类扩展了 ItemizedOverlay,并且重写了 onTap (final GeoPoint p, Final MapView mapView)。起初我认为这会很简单,因为参数之一是 GeoPoint,所以我可以确切地知道单击了哪个 GeoPoint。然而,据我所知,GeoPoint 参数是用户实际触摸位置的 GeoPoint。考虑到用户可以触摸并仍然触发 onTap 的范围,GeoPoint 对于准确了解实际触摸的 GeoPoint 没有多大帮助。

我目前正在对照所有现有的 GeoPoint 检查参数 GeoPoint,看看它最接近哪个。这看起来像是一个 super 黑客的抽象反转。有没有更好的方法来了解实际窃听的内容?

最佳答案

您应该重写该方法,而不是onTap (final GeoPoint p, Final MapView mapView):

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

其中index会将您指向正确的OverlayItem

问候。

关于java - 识别触发 onTap 调用的 GeoPoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13610473/

相关文章:

java - Android:与其他应用程序上的 Intent 共享位图

google-maps - Google map v3 的 InfoWindow 替代品

ios - GMSMapView 显示整个世界地图?

google-maps - 在 Google map 中 getBoundingClientRect 在 IE 中给出未指定的错误

java - 如何创建多对多连接,其中所有者实体可以拥有多个拥有的实体?

java - 如何检查 JavaFx 布局中两个或多个元素是否发生碰撞

android - 目标 API 和 minSDK 的目的是什么

android - 布局状态应该是 100 之一,但它是 10

android - 无法解析 Artifact/缺失 Artifact (Eclipse)

java - 了解 Scanner : why I get blank token? 中的 useDelimiter