以编程方式创建的Android不会显示MapView v2

时间:2012-12-10 20:04:49

标签: android-mapview google-maps-android-api-2

我更新了Android Google Maps v2示例应用中的RawMapViewDemoActivity.java,以编程方式创建MapView但不显示地图。我只是得到一个空白的屏幕。

我替换了

    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));        

我做错了什么?

2 个答案:

答案 0 :(得分:2)

您是否已将所有生命周期方法转发到新的MapView

mMapView.onCreate(savedInstanceState);

查看API Reference

答案 1 :(得分: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);