2012-11-22 64 views
1

我創建了一個WebView以顯示帶有標記等的Google地圖。這項工作非常好,在我的設備上(HTC Sensation),我可以縮放地圖,其他設備有時會發生縮放不可能。我已經嘗試過setSupportZoom(true)和setBuiltInZoomControls(true),但這不起作用。它不是縮放地圖,而是縮放內容(如放大圖片)。在Android上的WebView中縮放Google地圖

所以我questin是我如何啓用縮放所有設備上的地圖?

回答

1

如果你想控制縮放 - 縮小然後不使用默認縮放控制。在你的xml文件中設置..

<ZoomControls android:id="@+id/zoomctrl" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:gravity="top|center_horizontal" 
/> 

現在。在你的活動中聲明並初始化ZoomControls zc;

class CurOverlay extends Overlay { 
    private GeoPoint pointToDraw; 

    public void setPointToDraw(GeoPoint point) { 
     pointToDraw = point; 
    } 

    public OnTouchListener mMapTouch = new OnTouchListener() { 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      Log.v("TAG", "inside onTouch"); 
      zoomlvl = curmapView.getZoomLevel(); 
      if (zoomlvl == 19) 
       zc.setIsZoomInEnabled(false); 
      else if (zoomlvl == 1) 
       zc.setIsZoomOutEnabled(false); 
      else { 
       zc.setIsZoomInEnabled(true); 
       zc.setIsZoomOutEnabled(true); 
      } 
      return false; 
     } 
    }; 
      ... 
      .... 

} 

和變焦的單擊事件和縮小是..

zc.setOnZoomInClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        zc.setIsZoomOutEnabled(true); 
        curmapController.zoomIn(); 
        if (curmapView.getZoomLevel() == 19) 
         zc.setIsZoomInEnabled(false); 

       } 
      }); 
      zc.setOnZoomOutClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        zc.setIsZoomInEnabled(true); 
        curmapController.zoomOut(); 
        if (curmapView.getZoomLevel() == 1) 
         zc.setIsZoomOutEnabled(false); 
       } 
      }); 

希望這個地圖幫你

+0

謝謝!我試試看。 – ZeroTek