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
任何想法?