GoogleMapのMapFragmentを取得した際にNullPointerExceptionが発生する場合の対処方法

概要

以下のようなコードでGoogleMapを表示しようとしたところNullPointerExceptionが発生した。

GoogleMap googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
UiSettings uiSettings = googleMap.getUiSettings();
uiSettings.setZoomGesturesEnabled(true);
uiSettings.setScrollGesturesEnabled(true);
・
・
・

解決方法

OnMapReadyCallbackinterfaceを実装することで解決できた。

SupportMapFragment mapFragment = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map));
mapFragment.getMapAsync(new OnMapReadyCallback() {
    @Override
    public void onMapReady(GoogleMap googleMap) {
        UiSettings uiSettings = googleMap.getUiSettings();
        uiSettings.setZoomGesturesEnabled(true);
        uiSettings.setScrollGesturesEnabled(true);
        ・
        ・
        ・
    }
});