当前位置: 首页 > 知识库问答 >
问题:

为什么谷歌地图v2突然崩溃java.lang.NullPointerException:试图获取null数组的长度?

龚安民
2023-03-14

下面是我使用MapView的一些代码:

@Override
protected void onCreateView(Bundle savedInstanceState) {
    super.onCreateView(savedInstanceState);
    initMap(savedInstanceState);
}
private void initMap(Bundle savedInstanceState) {
    mMapView.onCreate(savedInstanceState);
    mMapView.onResume();
    try {
        MapsInitializer.initialize(getActContext());
    } catch (Exception e) {
        e.printStackTrace();
    }
    mMapView.getExtendedMapAsync(this);
    locationManager = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);
    try {
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 400, 1000, this);
    } catch (SecurityException e) {
        Log.e(TAG, "onLocationChanged: ", e);
    }
}
@Override
public void onPause() {
    mMapView.onPause();
    super.onPause();
}

@Override
public void onResume() {
    super.onResume();
    mMapView.onResume();
}

@Override
public void onDestroy() {
    mMapView.onDestroy();
    super.onDestroy();
}
@Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    presenter.getParkings();
    mMap.setOnMarkerClickListener(this);
    mMap.setMyLocationEnabled(true);
    mMap.getUiSettings().setMyLocationButtonEnabled(false);

}
@Override
public void onLocationChanged(Location location) {
    if (mMap == null)
        return;
    LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, 14);
    mMap.animateCamera(cameraUpdate);
    try {
        locationManager.removeUpdates(this);
    } catch (SecurityException e) {
        Log.e(TAG, "onLocationChanged: ", e);
    }
}

共有1个答案

刘野
2023-03-14

编辑2:这个bug在最新版本的谷歌地图上得到了解决。

编辑:一个用户指出这个bug也发生在7.0设备中,所以请记住,您可以将Android:maxsdkversion=“22”更改为appiate Sdk版本。

这个问题只发生在5.1.1设备与自定义ROM,如复活Remix。我不知道原因,但您可以将其添加到清单中,如https://stackoverflow.com/a/39696819/4208583和https://stackoverflow.com/a/39724556/4208583所示。

<uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE"
        android:maxSdkVersion="22" />
<uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE"
        android:maxSdkVersion="22" />
 类似资料:
  • 我试图找到android maps api v2的方法,它将决定我在移动时创建的折线的长度。我会把它放在onLocationChanged()中,以便不断更新。有人知道方法是什么吗?maps api将显示哪些单元的长度吗?

  • activity_main.xml 舱单 错误输出

  • 我正在尝试建立地图应用程序和遵循这个链接一步一步。我在这里找到了类似的话题,但没有帮助我。我想显示地图,但当我运行它,它返回的力量关闭和我的android设备。我看到了很多关于这个错误的问题,但没有人真正回答我的问题。这是我的logcat: 这里是我的mainactivity.java 我已经从下面链接一步一步地阅读了,但是在我的代码中似乎有很多错误。我错过了什么?有什么建议吗?多谢。

  • 我正在我的应用程序中使用谷歌地图。第一次正确加载google Maps时,点击页面上有一个按钮,但再次转到该页面并点击该按钮会使我的应用程序崩溃。 这是我的代码: 这是我的日志:

  • 我试图在两个位置之间找到驾驶方向: 我尝试过的代码: 但是这在两点之间画了一条直线。 有没有其他方法/途径可以得到这两点之间的行驶方向。