Reference MapView in SupportMapFragment
android, android-fragments, android-maps, supportmapfragment
Solution
This is an expected behabiour.
You can call `getMap()` only after the Fragment has gone through `onCreateView()`, otherwise it will give you a `null`. You can also receive a `null` if the Google Play Services is not available.
In other words, call `initMap()` in `onResume()`.
You can check more here.
Hope it helps!
Problem
I have a Fragment which Extends SupportMapFragment. ``` public class PlaceMapsFragment extends SupportMapFragment { private GoogleMap mMap; private LatLng mPosFija; public PlaceMapsFragment() { super(); } public static PlaceMapsFragment newInstance(LatLng posicion) { PlaceMapsFragment frag = new PlaceMapsFragment(); frag.mPosFija = posicion; return frag; } @Override public GoogleMap getMap() { // TODO Auto-generated method stub return super.getMap(); } @Override public void onCreate(Bundle arg0) { // TODO Auto-generated method stub super.onCreate(arg0); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = super.onCreateView(inflater, container, savedInstanceState); //initMap(); return view; } private void initMap() { UiSettings settings = getMap().getUiSettings(); settings.setAllGesturesEnabled(false); settings.setMyLocationButtonEnabled(false); getMap().moveCamera(CameraUpdateFactory.newLatLngZoom(mPosFija, 16)); getMap().addMarker( new MarkerOptions().position(mPosFija) .icon(BitmapDescriptorFactory .fromResource(R.drawable.marker))); } } ``` Now i want to refernce the MapView that is automatically generated so that i can add my functionality to the map. When i try to `initMap();` i get `NullPointerException` Error: ``` 12-10 02:54:20.171: E/AndroidRuntime(4339): FATAL EXCEPTION: main 12-10 02:54:20.171: E/AndroidRuntime(4339): java.lang.NullPointerException 12-10 02:54:20.171: E/AndroidRuntime(4339): at maps.ar.b.a(Unknown Source) 12-10 02:54:20.171: E/AndroidRuntime(4339): at maps.y.h.a(Unknown Source) 12-10 02:54:20.171: E/AndroidRuntime(4339): at maps.y.au.a(Unknown Source) 12-10 02:54:20.171: E/AndroidRuntime(4339): at maps.y.ae.moveCamera(Unknown Source) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.google.android.gms.maps.internal.IGoogleMapDelegate$Stub.onTransact(IGoogleMapDelegate.java:83) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.os.Binder.transact(Binder.java:297) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.google.android.gms.maps.internal.IGoogleMapDelegate$a$a.moveCamera(Unknown Source) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.google.android.gms.maps.GoogleMap.moveCamera(Unknown Source) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.m7.nomad.PlaceMapsFragment.initMap(PlaceMapsFragment.java:55) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.m7.nomad.PlaceMapsFragment.onCreateView(PlaceMapsFragment.java:46) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1460) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:911) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.m7.nomad.PlaceActivity$TabManager.onTabChanged(PlaceActivity.java:153) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.widget.TabHost.invokeOnTabChangeListener(TabHost.java:379) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.widget.TabHost.setCurrentTab(TabHost.java:364) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:150) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:540) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.view.View.performClick(View.java:3591) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.view.View$PerformClick.run(View.java:14263) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.os.Handler.handleCallback(Handler.java:605) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.os.Handler.dispatchMessage(Handler.java:92) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.os.Looper.loop(Looper.java:137) 12-10 02:54:20.171: E/AndroidRuntime(4339): at android.app.ActivityThread.main(ActivityThread.java:4507) 12-10 02:54:20.171: E/AndroidRuntime(4339): at java.lang.reflect.Method.invokeNative(Native Method) 12-10 02:54:20.171: E/AndroidRuntime(4339): at java.lang.reflect.Method.invoke(Method.java:511) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 12-10 02:54:20.171: E/AndroidRuntime(4339): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 12-10 02:54:20.171: E/AndroidRuntime(4339): at dalvik.system.NativeStart.main(Native Method) ```