Java 使用NonHierarchicalDistanceBasedAlgorithm从ClusterManager中删除项时出现NullPointerException

Java 使用NonHierarchicalDistanceBasedAlgorithm从ClusterManager中删除项时出现NullPointerException,java,android,google-maps,markerclusterer,Java,Android,Google Maps,Markerclusterer,我正在使用谷歌地图和集群开发一个Android应用程序 当我尝试从群集管理器中删除项目时,出现空指针异常。 E/UncaughtException: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.remove(java.lang.Object)' on a null object reference at com.google.maps.an

我正在使用谷歌地图和集群开发一个Android应用程序

当我尝试从群集管理器中删除项目时,出现空指针异常。

  E/UncaughtException: java.lang.NullPointerException: Attempt to invoke interface method 'boolean java.util.List.remove(java.lang.Object)' on a null object reference
        at com.google.maps.android.quadtree.PointQuadTree.remove(PointQuadTree.java:176)
        at com.google.maps.android.quadtree.PointQuadTree.remove(PointQuadTree.java:171)
        at com.google.maps.android.quadtree.PointQuadTree.remove(PointQuadTree.java:153)
        at com.google.maps.android.clustering.algo.NonHierarchicalDistanceBasedAlgorithm.removeItem(NonHierarchicalDistanceBasedAlgorithm.java:95)
        at com.google.maps.android.clustering.algo.PreCachingAlgorithmDecorator.removeItem(PreCachingAlgorithmDecorator.java:61)
        at com.google.maps.android.clustering.ClusterManager.removeItem(ClusterManager.java:161)
        at com.company.myApp.controllers.MapClusterManager.removeItem(MapClusterManager.java:72)
引发异常的代码如下所示:

  if(clusterManager.getAlgorithm().getItems().contains(mapClusterItem)) {
        clusterManager.removeItem(mapClusterItem); // <-- NPE here
        clusterManager.cluster();
  }

这是库中的一个bug,它将很快发布一个固定版本,正如这里所说:

    clusterManager = new ClusterManager<MapClusterItem>(context, googleMap);
    algo = new NonHierarchicalDistanceBasedAlgorithm<MapClusterItem>();
    clusterManager.setAlgorithm(algo);
compile 'com.google.maps.android:android-maps-utils:0.4.+'