gpt4 book ai didi

android - MyLocationOverlay dispatchTap() 不传播

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:56 24 4
gpt4 key购买 nike

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

我正在为标记处理 onTap 事件,以显示一个面板,其中包含所点击标记的信息,如果在标记外部(即使在位置标记中)点击,面板应该隐藏。

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

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

Returns: True if this tap was processed; false if it should be sent to the other overlays.

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

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

最佳答案

“从android 2.0开始修复,这是一些手机的已知问题”

来自 - Propagate events in several layers 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

关于android - MyLocationOverlay dispatchTap() 不传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4913389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com