【发布时间】:2016-01-20 22:24:07
【问题描述】:
我正在使用 Titanium(v5.0.4,sdk 5.1.2GA)编写一个跨平台的移动应用程序。该应用程序显示带有标记的地图,用于标记靠近当前位置的兴趣点。如果用户将地图移动到新区域,则所有先前显示的标记都将被移除,并根据新位置计算并显示一组新的标记。用户可以单击一个标记,并显示一个信息窗口。单击 infoWindow 会打开一个新窗口以获取更多信息。
这在 IOS(使用 MapKit)上运行良好。但是,在 Android(使用 Google 地图)上,单击标记会显示 infoWindow,但也会使地图以标记为中心,这会触发“regionchanged”事件,这会导致我的应用程序删除标记并显示新集。基本上,用户永远无法单击 infoWindow,也无法到达新窗口以获取更多信息。
我想做的事:防止谷歌地图在点击标记时自动平移到标记。
或者,有没有办法区分单击标记后触发的“regionchanged”事件和用户移动地图触发的“regionchanged”事件?这将允许我只对后者做出反应。
我找到了这个 (Impossible to prevent auto panning to a marker when clicking on it (google maps)) 但这是 ruby on rails。我遇到的其他事情(虽然找不到链接)涉及重载“click”事件处理程序或使用 disableAutoPan infoWindow 选项 (Google Maps: How to prevent InfoWindow from shifting the map),但这都是针对 Javascript API 的。
那么,有人知道吗?
【问题讨论】:
标签: android google-maps appcelerator appcelerator-titanium