MyLocationOverlay dispatchTap()不会传播

时间:2011-02-06 12:49:10

标签: android android-maps android-location

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

我正在处理标记的onTap事件,以显示一个包含点击标记信息的面板,如果在标记之外点击(甚至在位置标记中),则面板应该隐藏。

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

在我的MyLocationOverlay我覆盖了dispatchTap()函数,使其返回false,如docs中所述:

  

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

但仍然无法正常工作,即使我尝试以及以防万一,也没有...

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

1 个答案:

答案 0 :(得分:1)

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

从 - Propagate events in several layers android google maps

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

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