2017-05-09 46 views
0

我试图显示地图,但谷歌地图为空。我的代码是 - :getSupportFragmentManager()给出null

supportMapFragment = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.add_event_map); 

supportMapFragment.getMapAsync(new OnMapReadyCallback() { 
    @Override 
    public void onMapReady(GoogleMap googleMap) { 

     mgoogleMap = googleMap; 
    } 
}); 

mgoogleMap.getUiSettings().setZoomControlsEnabled(true); 

我收到的最后一行空指针异常 - :

mgoogleMap.getUiSettings().setZoomControlsEnabled(true); 
+0

'mgoogleMap'为'null'。 – Piyush

回答

1

你必须等待onMapReady呼叫,只有经过mgoogleMap不会null

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mgoogleMap = googleMap; 
    mgoogleMap.getUiSettings().setZoomControlsEnabled(true); 
} 
0

一旦地图准备就绪,请设置缩放控件。

supportMapFragment = (SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.add_event_map); 

supportMapFragment.getMapAsync(new OnMapReadyCallback() { 
    @Override 
    public void onMapReady(GoogleMap googleMap) { 

     mgoogleMap = googleMap; 

mgoogleMap.getUiSettings().setZoomControlsEnabled(true); 
    } }); 
0

mgoogleMap.getUiSettings().setZoomControlsEnabled(true)onMapReady之前执行。
您应该在onMapReady内添加代码。

相关问题