GoogleMapのMapFragmentを取得した際にNullPointerExceptionが発生する場合の対処方法
概要
以下のようなコードでGoogleMapを表示しようとしたところNullPointerExceptionが発生した。
GoogleMap googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); UiSettings uiSettings = googleMap.getUiSettings(); uiSettings.setZoomGesturesEnabled(true); uiSettings.setScrollGesturesEnabled(true); ・ ・ ・
解決方法
OnMapReadyCallback
interfaceを実装することで解決できた。
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); ・ ・ ・ } });