2012-12-10 27 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);