我正在尝试在片段寻呼机的活动中使用谷歌地图,所以地图站在寻呼机的后面,仍然能够与它进行交互,但无论我做什么,我都会得到空例外。
我试图使用SupportMapFragment:
SupportMapFragment mapFragment = ((SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.Map));
mapFragment.getMapAsync(this);
但是getChildFragmentManager无法解析,因为我猜是AppCompatActivity
。
还有另一种方法吗?可能吗?感谢。
答案 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);
}
});
}