2013-02-11 67 views
0

我已經開始構建一個專注於來自google-play-services-libs的地圖的android應用程序。當我啓動應用程序時,地圖從灰色網格加載到顯示地圖圖像需要一段時間。如何檢查(Google地圖API)地圖是否已加載?

我想在地圖上移動/播放一下,當它完全加載當前在屏幕上的部分時。然而,我卻無法找到一種以編程方式檢查地圖是否已加載的方法。

我該如何做到這一點?

總之: 從GoogleMap的實例中,我該如何確定它是否實際顯示了某些內容?

+1

Overlay類中有一個「boolean onDraw」函數。我不確定它的最後一個參數是否已被修改。它處理這種事情。 – 2013-02-11 17:56:47

回答

1

您可以嘗試在地圖上使用OnCameraChangeListener。 onCameraChange調用將在最初加載地圖的切片時調用。

this.map.setOnCameraChangeListener(new OnCameraChangeListener() { 

    public void onCameraChange(CameraPosition arg0) { 
     isMapReady = true; 
     map.setOnCameraChangeListener(null); 
    } 
    }); 
+0

我不再在這個項目上工作,但這似乎是可行的,所以接受這個答案 – varesa 2013-07-18 17:12:17

0

chckReady()函數檢查地圖是否已準備好與否

public class MapView extends android.support.v4.app.FragmentActivity { 

     private GoogleMap mMap; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.ui_settings_demo); 
      setUpMapIfNeeded(); 
     } 

     @Override 
     protected void onResume() { 
      super.onResume(); 
      setUpMapIfNeeded(); 
     } 

     private void setUpMapIfNeeded() { 
      if (mMap == null) { 
       mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) 
         .getMap(); 
      } 
     } 

     private boolean checkReady() { 
      if (mMap == null) { 
       return false; 
      } 
     } 
} 
+0

感謝您的回答,但我認爲這不是我所要求的(如果我錯了,請糾正我)。我想知道的是,當我加載地圖對象(以便我看到一個網格和控件)時,但沒有加載「內容」,只有網格。我想知道何時「內容/圖像」已經加載到用戶 – varesa 2013-02-16 17:03:03