如何在Android中检测谷歌MapView运动?

con*_*sed 7 user-interface android map android-mapview

每当我的用户移动一定距离时,我想动态更新地图/加载新的地图叠加层.我该怎么做呢?每次用户移动地图时是否有监听器?我很可能只测量中心点之间的距离.

谢谢!

The*_*heo 8

试试这个以检测地图移动:http: //pa.rezendi.com/2010/03/responding-to-zooms-and-pans-in.html

在开始移动地图之后,您应该保存当前地图中心.如文章所示,跟踪ACTION_UP以确定用户何时完成地图移动.然后,将新地图中心与旧地图中心进行比较.要获取地图中心,请使用MapView的getMapCenter():

http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapView.html#getMapCenter()

编辑:我已经做了一些额外的工作,并有一个完整的应用程序与代码供您享受.这篇博文解释了一个计时器解决方案,并包含一个指向Github源的链接:http: //bricolsoftconsulting.com/extending-mapview-to-add-a-change-event/


Fem*_*emi 0

遗憾的是,地图界面不包含任何监听器来监视地图操作(缩放/平移)。您需要设置某种计时器来检查中心/缩放级别,以确定情况是否发生变化并相应更新。