一些嘗試,我發現後簡單的解決方案。
因此,首先,在我的第一個活動佈局(這是一個主機活動我所有的片段),我增加了以下零大小的隱形MapView
:
<com.google.android.gms.maps.MapView
android:id="@+id/dummyMapViewToInitForOfflineUse"
android:layout_width="0dp"
android:layout_height="0dp"
android:visibility="invisible"
/>
然後,在活動代碼,我添加了下面的方法:
private void initGoogleMapFrameworkToMakeItUsableOfflineLater() {
dummyMapViewToInitForOfflineUse.onCreate(new Bundle());
dummyMapViewToInitForOfflineUse.getMapAsync(ignored -> {
Timber.d("GoogleMap framework initialized and ready to use offline later");
});
}
你可以把它在onCreate
以及在任何其他合理的時刻(我用AndroidAnnotations,所以我把它叫做從@AfterViews
註解我init方法)。 Obvoiusly,如果您不使用AndroidAnnotations或其他視圖綁定框架,則需要執行findViewById(R.id.dummyMapViewToInitForOfflineUse)
。
下載和緩存切片並不需要初始化一個MapView實例,所以一旦安裝了應用程序,只需啓動一個後臺服務,並獲取必要的切片就好像是您的最佳選擇。 –
你是對的,但稍後在沒有互聯網連接的情況下在「MapView」中顯示它們需要初始化,這就是我的問題所在。 – javaxian