0
在Nativescript中编写应用程序。下面的设置工作正常,没有错误:Android Google Maps实用程序 - onClusterClick导致NullPointerException错误
// initialize cluster manager
dis.cluster_manager = new dis.clustering.ClusterManager(app.android.context, dis.gMap);
// Instantiate the cluster manager algorithm as is done in the ClusterManager, so we can access cluster items themselves, rather than cluster markers
dis.cluster_manager_algorithm = new dis.clustering.algo.NonHierarchicalDistanceBasedAlgorithm();
dis.cluster_manager.setAlgorithm(dis.cluster_manager_algorithm);
var CustomClusterRenderer = dis.clustering.view.DefaultClusterRenderer.extend({
//constructor
init: function() {},
onBeforeClusterItemRendered: function (item, markerOptions) {
console.log("onBeforeClusterItemRendered");
},
onBeforeClusterRendered: function (cluster, markerOptions) {
console.log("onBeforeClusterRendered!!!!!!!!!!");
}
});
dis.cluster_renderer = new CustomClusterRenderer(app.android.context, dis.gMap, dis.cluster_manager);
dis.cluster_renderer.setMinClusterSize(1);
dis.cluster_manager.setRenderer(dis.cluster_renderer);
dis.gMap.setOnCameraIdleListener(dis.cluster_manager);
// must be called after every unit add/remove
dis.cluster_manager.cluster();
现在,我要听“集群点击”和“集群项目点击”。添加以下内容:
dis.gMap.setOnMarkerClickListener(dis.cluster_manager);
dis.cluster_manager.setOnClusterClickListener(new dis.clustering.ClusterManager.OnClusterClickListener({
onClusterClick: function(cluster) {
console.log("onClusterClick");
}
}));
dis.cluster_manager.setOnClusterItemClickListener(new dis.clustering.ClusterManager.OnClusterItemClickListener({
onClusterItemClick: function(item) {
console.log("onClusterItemClick");
}
}));
它编译并运行正常,那就是,当我点击簇标记或集群项目的标记,我得到相应的console.log
,但之后应用程序崩溃,我得到这个错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.langBoolean.booleanValue()' on a null object reference
任何想法?