6

我有MapView一些叠加层和一个子类,MyLocationOverlay因为我希望用户当前位置显示在其他标记之上。

我正在处理onTap标记的事件以显示带有被点击标记信息的面板,如果在标记之外(即使在位置标记中)被点击,面板应该隐藏。

如果我单击一个标记或在空白处,一切都很好,面板会按预期显示或隐藏,但是如果我单击位置标记,则没有任何反应(如果位置标记位于另一个标记上方,则信息不会显示,如果它在外面,信息显示它没有隐藏)。

在我的MyLocationOverlay我重写的dispatchTap()函数中,使其返回 false,如文档中所述:

返回:如果此点击已处理,则为真;如果应该将其发送到其他叠加层,则为 false

但仍然不起作用,即使我尝试返回 true 以防万一,但什么都没有......

有人知道如何将onTap事件传播到其他叠加层吗?

4

1 回答 1

1

“自 android 2.0 以来已修复,这是某些手机的已知问题”

来自 -在多个层中传播事件 android google maps

“如果您看到放置在 MapView 上的叠加项目,您的 onTap() 将在您点击任何叠加项目时触发。无论用户点击何处,都会触发 onTap(GeoPoint point, MapView view)。因此,您可以覆盖它以查看它是否被触发。在单击覆盖项目的情况下,onTap(int i) 将在它之后运行。

来自 - https://stackoverflow.com/questions/6680387/ontap-event-on-map-is-not-fired

于 2011-12-23T16:57:55.877 回答