在做百度地圖的時候 javascript 有個地圖縮放的事件
但是在android 的API里面卻沒有,但是還好 官方給了一個MapStatusChangeListener,是這樣介紹的
百度地圖SDK為開發者提供了地圖事件監聽的方法MKMapViewListener,開發者通過此接口,可完成以下幾種事件的監聽:地圖加載完成時,地圖移動完成時、點擊到地圖可點標注時、動畫結束時和截圖成功后。
感覺有戲,稍微做下修改 具體思路是
在class 中記錄 zoom 的初始值
之后在這個事件里檢測這個初始值,如果變動了,則認為是改變了縮放等級,則刷新
具體代碼如下所示
//其中mMapView 是地圖View mMapView.regMapStatusChangeListener(new MKMapStatusChangeListener() { @Override public void onMapStatusChange(MKMapStatus mkMapStatus) { float zoom = mkMapStatus.zoom; if(Math.abs(MainActivity.this.zoom-zoom)>0.000001){
// 你的代碼...
MainActivity.this.zoom =zoom; Log.d("zoom","縮放起了變化,現在縮放等級為"+zoom); } } });