2014-03-04 72 views
0

我已經創建了一個應用程序來顯示地圖。但是我想只顯示地圖的一部分,當我點擊地圖的任何部分時,我的應用應該放大到我已經點擊過的位置,並且只存儲它放大的那部分地圖(不是整個地圖),因爲圖像文件,以便我可以稍後訪問它。只顯示Android中的Google地圖顯示的一部分

在Android ADT捆綁軟件Android v2中執行我的應用程序。我可以顯示整個地圖,也可以縮放到地圖上我點擊的部分,但我想捕捉縮放的部分並將其存儲爲圖像文件。

回答

0

有你可以使用,你必須實現一個callback方法並將其應用到你地圖目標的地圖快照方法,這裏有一個例子:

public void captureMapScreen() { 
    SnapshotReadyCallback callback = new SnapshotReadyCallback() { 

     @Override 
     public void onSnapshotReady(Bitmap snapshot) { 
      try { 
       mView.setDrawingCacheEnabled(true); 
       Bitmap backBitmap = mView.getDrawingCache(); 
       Bitmap bmOverlay = Bitmap.createBitmap(
         backBitmap.getWidth(), backBitmap.getHeight(), 
         backBitmap.getConfig()); 
       Canvas canvas = new Canvas(bmOverlay); 
       canvas.drawBitmap(snapshot, new Matrix(), null); 
       canvas.drawBitmap(backBitmap, 0, 0, null); 
       FileOutputStream out = new FileOutputStream(
         Environment.getExternalStorageDirectory() 
           + "/MapScreenShot" 
           + System.currentTimeMillis() + ".png"); 

       bmOverlay.compress(Bitmap.CompressFormat.PNG, 90, out); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }; 

    mMap.snapshot(callback); 

}