2011-02-27 65 views
2

我試圖通過在MapActivity類中實現OnZoomListener來限制我的地圖的縮放級別。該監聽器具有OnZoom()方法,當用戶使用縮放控件時會自動調用該方法。現在在這個OnZoom()方法我已經投入:
public void onZoom(boolean zoomIn) {
int mylevel=map.getZoomLevel();
if(mylevel>15){
mc.zoomOut();
}

這裏mc是我的地圖控制器。
但這不工作......任何解決方案?
thx。OnZoom方法在MapActivity中不起作用

編輯:好吧......這沒有得到任何解決方案:

+0

我確定很好奇,看到這個問題的相關答案。我需要完全相同的東西,並最終在屏幕上的每次觸摸檢查縮放 – zrgiu 2011-02-27 20:23:20

+0

你是什麼意思不工作?崩潰還是什麼?嘗試更具體 – Reno 2011-02-27 21:56:47

+0

不......它只是沒有工作...我設置的初始縮放到15 ..所以我期望,如果我放大甚至ince..itll再次縮小...,我可以提出一個吐司像:最大縮放水平達到...但我可以放大和...任何想法? – Urban 2011-02-28 11:00:44

回答

0

我看不到任何onZoom方法在MapActivity被重寫 - 嘗試@Override批註,你就會明白我的意思......嗯,至少當V 8_r1

+0

沒有在MapActivity中沒有,但是當你實現OnZoomListener到你的地圖活動之後,你可以重寫OnZoom方法... – Urban 2011-03-22 08:30:00

+0

好吧......得到它:) – 2011-03-22 12:51:25

0

我也有同樣的問題。代替實現接口,添加以下代碼在您的onCreate()

final MapView mapView = (MapView) findViewById(R.id.mapView); 
    ZoomButtonsController controller = mapView.getZoomButtonsController(); 
    controller.setOnZoomListener(new ZoomButtonsController.OnZoomListener() { 

     @Override 
     public void onZoom(boolean zoomIn) { 
      Log.i(TAG,"Inside onZoom. value is "+zoomIn); 
      if(zoomIn) 
       mapView.getController().zoomIn(); 
      else 
       mapView.getController().zoomOut(); 

     } 

     @Override 
     public void onVisibilityChanged(boolean visible) { 
      // TODO Auto-generated method stub 

     } 
    });