【问题标题】:Android programmatically created MapView v2 is not displayedAndroid 以编程方式创建的 MapView v2 不显示
【发布时间】:2012-12-10 20:04:49
【问题描述】:

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

我做错了什么?

【问题讨论】:

  • 是否有任何错误记录在任何地方?

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


【解决方案1】:

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

mMapView.onCreate(savedInstanceState);

看看API Reference

【讨论】:

  • 格林尼,感谢您的回复。是的,我使用了转发所有 livecycle 方法的示例应用程序的源代码。我认为这可能是一个简单的布局问题。我会继续挖掘。
  • 您是否在使用mMapView = new MapView(this, options); 创建后将 MapView 添加到布局中?试试setContentView(mMapView)
  • 感谢获得 Greeny,但这并没有做到。有关详细信息,请参阅我的答案。
【解决方案2】:

抱歉 - 我刚刚解决了这个问题,但忘记发布答案了。

似乎必须将 MapView 放置在布局容器中才能正确显示。以下 sn-p 显示了我为使示例工作所做的工作。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    • 2015-05-28
    • 1970-01-01
    • 2016-11-04
    相关资源
    最近更新 更多