NullPointerException:尝试调用虚方法'void com.google.android.gms.maps.MapFragment.getMapAsync

NullPointerException : Attempt to invoke virtual method 'void com.google.android.gms.maps.MapFragment.getMapAsync

我正在使用 com.google.android.gms:play-services-maps:11.0.2 版本的 Google 地图服务。尝试调用以下内容时,出现以下错误:

java.lang.NullPointerException: Attempt to invoke virtual method
void

com.google.android.gms.maps.MapFragment.getMapAsync(com.google.android.gms.maps.OnMapReadyCallback)' 在空对象引用上

下面是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);

    mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);

}

看起来您使用的是 SupportMapFragment 而不是 MapFragment

更改此行:

mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.map);

为此:

mapFragment = (MapFragment) getSupportFragmentManager().findFragmentById(R.id.map);