在Google Maps Android V2中触发地图事件(如标记点击)

20

我正在尝试在Google地图API for Android V2中以编程方式触发标记点击(或其他地图事件)。 有人知道如何做吗?

显然,JavaScript API(v3)具有触发函数,但我找不到适用于Android的任何东西。

谢谢帮忙。


大多数给出的答案都是关于捕获标记上的点击事件。为了澄清,您的意思是模拟对特定标记的点击而不是监听事件吗? - vida
是的,我想模拟点击标记。我知道如何监听标记的点击事件。 - Guru
我有同样的问题。目前还没有相应的API。我尝试找出可能的解决方法,但由于API的限制,我认为目前不可行。 - vida
3个回答

21

您不能直接触发标记点击。

如果需要在onMarkerClick返回false时运行默认实现(或者没有OnMarkerClickListener),则需要自己处理:

marker.showInfoWindow();
map.animateCamera(CameraUpdateFactory.newLatLng(marker.getPosition()), 250, null);

这里假设默认标记点击行为使用了250,API不提供内部使用的默认值。

如果你拥有OnMarkerClickListener,你可以保留引用并将标记作为参数调用一个函数。


嗯,你的意思是说我不能通过我的代码触发标记点击吗?我知道如何使用标记点击监听器(实际上我正在使用它),但我希望能够通过我的代码触发点击,而不必触摸/点击标记。 - Guru
我给你提供了一个解决方法。虽然没有Marker.doClick()这样的方法,但是你可以自己调用OnMarkerClickListener的方法,而不需要直接与库进行交互。 - MaciejGórski
1
顺便说一句,您可能想在这里提交一个功能请求:gmaps-api-issues 或者在这里:Android Maps Extensions(或两者都可以)。 - MaciejGórski
嗨,这个可以工作,但我想在onmarkerclick中显示导航按钮。 - David

2

-2

OnMapClickListener 是一个接口,您可以使用它来检测 Google Maps V2 上的点击事件。类似于 js 中的“触发器”。您为特定事件设置监听器,等待直到有一些事件发生。然后声明一个方法并处理该事件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接