谷歌地图 – Android应用程序无法加载 – 空对象引用

我目前正在尝试使用google Maps集成开发Android应用。 目前我很难找到错误,因为代码来自谷歌网站本身,除了它是一个SupportMapFragment。 如果您知道使用SupportMapFragment的实际教程也会很棒。 实际,因为我认为.getMap()是折旧的。 如果我应该发布整个代码,请告诉我(我是stackoverflow中的新手)

如果尝试使用此代码:

 import android.content.Context; import android.location.Criteria; import android.location.Location; import android.location.LocationManager; import android.os.Bundle; import android.support.v4.app.FragmentManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; public class MapsFragment extends SupportMapFragment implements OnMapReadyCallback { 

其中一个函数是:

  @Override public void onResume() { FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); SupportMapFragment supportMapFragment = (SupportMapFragment) fragmentManager .findFragmentById(R.id.map); supportMapFragment.getMapAsync(this); } 

错误是: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.google.android.gms.maps.SupportMapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' on a null object reference

Fragment xml看起来像这样:

    

地图片段正在Lollipop上运行,您可能需要这样做。

 SupportMapFragment supportMapFragment; if (Build.VERSION.SDK_INT < 21) { supportMapFragment = (SupportMapFragment) getActivity() .getSupportFragmentManager().findFragmentById(R.id.map); } else { supportMapFragment = (SupportMapFragment) getActivity() .getChildFragmentManager().findFragmentById(R.id.map); } supportMapFragment.getMapAsync(this); 

看起来你需要使用FragmentSupportFragmentManager看看这个findFragmentById的答案, 对于SupportMapFragment在Android Studio中返回null