在AppCompatAcivity

时间:2016-01-05 15:36:30

标签: java android android-fragments google-maps-api-3 supportmapfragment

我正在尝试在片段寻呼机的活动中使用谷歌地图,所以地图站在寻呼机的后面,仍然能够与它进行交互,但无论我做什么,我都会得到空例外。

我试图使用SupportMapFragment:

SupportMapFragment mapFragment = ((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.Map));
        mapFragment.getMapAsync(this);

但是getChildFragmentManager无法解析,因为我猜是AppCompatActivity。 还有另一种方法吗?可能吗?感谢。

1 个答案:

答案 0 :(得分:3)

尝试动态添加它。

        MapFragment mMapFragment = MapFragment.newInstance();
        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
        fragmentTransaction.add(R.id.llMapContainer, mMapFragment, "map");
        fragmentTransaction.commit();

或者您可以像这样获取地图片段

        mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
        if (mapFragment != null) {
            mapFragment.getMapAsync(new OnMapReadyCallback() {
                @Override
                public void onMapReady(GoogleMap map) {
                   loadMap(map);
                }
           });
        }