2012-12-10 26 views
6

我更新了Android谷歌地圖v2示例應用程序中的RawMapViewDemoActivity.java,以編程方式創建MapView,但不顯示地圖。我只是得到一個空白的屏幕。以編程方式創建的Android MapView v2不顯示

我更換

mMapView = (MapView) findViewById(R.id.map); 

GoogleMapOptions options = new GoogleMapOptions(); 
    options.camera(new CameraPosition(new LatLng(0, 0), 15, 0, 0));   
    mMapView = new MapView(this, options); 
    mMapView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));   

我在做什麼錯?

+1

任何錯誤被記錄在任何地方? – Ren

回答

2

您是否已將所有生命週期方法轉發到新的MapView

mMapView.onCreate(savedInstanceState); 

看看在API Reference

+0

格林,謝謝你的回覆。是的,我使用來自示例應用程序的源代碼轉發所有的生命週期方法。我認爲這可能是一個簡單的佈局問題。我會保持digiging。 – whenrybruce

+0

您是否在使用'mMapView = new MapView(this,options)創建MapView之後添加了MapView?'? 嘗試'setContentView(mMapView)' – Greeny

+0

感謝獲得Greeny,但這並沒有做到這一點。查看我的答案瞭解更多詳情。 – whenrybruce

1

對不起 - 我解決了這個問題前一段時間,卻忘了張貼的答案。

似乎MapView必須放置在佈局容器中才能正確顯示。下面的代碼片段顯示了我做了什麼樣的工作。

LinearLayout linearLayout = new LinearLayout(this); 
GoogleMapOptions options = new GoogleMapOptions(); 
options.camera(new CameraPosition(new LatLng(0, 0), 1, 0, 0));   
mMapView = new MapView(this, options); 
linearLayout.addView(mMapView); 
setContentView(linearLayout);