我正在用 Titanium(v5.0.4,sdk 5.1.2GA)编写一个跨平台的移动应用程序。该应用程序显示带有标记的地图,用于标记靠近当前位置的兴趣点。如果用户将地图移动到新区域,则所有先前显示的标记都将被移除,并根据新位置计算并显示一组新标记。用户可以单击一个标记,并显示一个信息窗口。单击 infoWindow 会打开一个新窗口以获取更多信息。
这在 IOS(使用 MapKit)上运行良好。但是,在 Android(使用 Google 地图)上,单击标记会显示 infoWindow,但也会使地图以标记为中心,这会触发“regionchanged”事件,这会导致我的应用删除标记并显示新集。基本上,用户永远无法单击 infoWindow,也无法到达新窗口以获取更多信息。
我想要做的:防止谷歌地图在点击它时自动平移到一个标记。
或者,有没有办法区分单击标记后触发的“regionchanged”事件和用户移动地图触发的“regionchanged”事件?这将允许我只对后者作出反应。
我发现了这一点(单击它时无法防止自动平移到标记(谷歌地图))但这是轨道上的红宝石。我遇到的其他事情(虽然找不到链接)涉及重载“点击”事件处理程序或使用 disableAutoPan infoWindow 选项(谷歌地图:如何防止 InfoWindow 移动地图),但这都是为了Javascript API。
那么,有人知道吗?