我已經開始構建一個專注於來自google-play-services-libs的地圖的android應用程序。當我啓動應用程序時,地圖從灰色網格加載到顯示地圖圖像需要一段時間。如何檢查(Google地圖API)地圖是否已加載?
我想在地圖上移動/播放一下,當它完全加載當前在屏幕上的部分時。然而,我卻無法找到一種以編程方式檢查地圖是否已加載的方法。
我該如何做到這一點?
總之: 從GoogleMap
的實例中,我該如何確定它是否實際顯示了某些內容?
我已經開始構建一個專注於來自google-play-services-libs的地圖的android應用程序。當我啓動應用程序時,地圖從灰色網格加載到顯示地圖圖像需要一段時間。如何檢查(Google地圖API)地圖是否已加載?
我想在地圖上移動/播放一下,當它完全加載當前在屏幕上的部分時。然而,我卻無法找到一種以編程方式檢查地圖是否已加載的方法。
我該如何做到這一點?
總之: 從GoogleMap
的實例中,我該如何確定它是否實際顯示了某些內容?
您可以嘗試在地圖上使用OnCameraChangeListener。 onCameraChange調用將在最初加載地圖的切片時調用。
this.map.setOnCameraChangeListener(new OnCameraChangeListener() {
public void onCameraChange(CameraPosition arg0) {
isMapReady = true;
map.setOnCameraChangeListener(null);
}
});
我不再在這個項目上工作,但這似乎是可行的,所以接受這個答案 – varesa 2013-07-18 17:12:17
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;
}
}
}
感謝您的回答,但我認爲這不是我所要求的(如果我錯了,請糾正我)。我想知道的是,當我加載地圖對象(以便我看到一個網格和控件)時,但沒有加載「內容」,只有網格。我想知道何時「內容/圖像」已經加載到用戶 – varesa 2013-02-16 17:03:03
Overlay類中有一個「boolean onDraw」函數。我不確定它的最後一個參數是否已被修改。它處理這種事情。 – 2013-02-11 17:56:47