2014-03-05 133 views
0

我正在開發一款使用Google Maps API v2的Android應用程序,並通過與其他Android設備的套接字連接共享地圖屏幕。這一切都可以正常工作,但我想讓它截取比我屏幕上的地圖更大的地圖,以便它能夠很好地適應正在接收屏幕截圖的設備的大屏幕。例如:我的應用程序屏幕是540x719,第二個設備接收的位圖的寬度是:540,高度是719.如何讓它發送完全適合第二個應用程序的截圖?使Google Map的屏幕截圖大於我的設備屏幕

,我使用谷歌地圖的截圖方法:

public void CaptureMapScreen() { 
    SnapshotReadyCallback callback = new SnapshotReadyCallback() { 
     Bitmap bitmap1; 
     Bitmap bitmap; 
     @Override 
     public void onSnapshotReady(Bitmap snapshot) { 
      bitmap1 = snapshot; 

       try { 
        //some code 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
     } 
    }; 
    mGoogleMap.snapshot(callback); 
} 

回答

2

這似乎是不可能要我在實際截圖的東西是不是在屏幕上。這是因爲一個簡單的事實,即「屏幕截圖」捕獲屏幕不是,什麼不是

此外,不可能以比捕獲設備屏幕更高的分辨率製作實際的屏幕截圖。

如果您不擔心分辨率太高,您可以嘗試以編程方式縮小地圖,然後截取屏幕截圖,然後再放大。這樣你就可以捕獲更多的地圖。

你可以做的另一件事是地圖的捕獲多個不同的部分,後來合併它們使一個單一的Bitmap了出來。