我的问题在于聚类策略。例如,如果地图在第一个缩放级别包含3个聚类,并且当单击放大(+)地图时,聚类会扩展并分成较小的聚类,并且还可能包含单个要素。我不知道点击放大聚类策略时发生的内部过程是什么。
如果有人知道在群集中发生的后台流程中帮助我,或者为我提供任何建议的链接。
答案 0 :(得分:1)
答案很容易在https://github.com/openlayers/openlayers/blob/master/lib/OpenLayers/Strategy/Cluster.js找到。就像克里格所说。在第152行附近,您将看到一个名为cluster的函数。这是使用{zoomChanged:zoomChanged}等事件对象调用的。
现在,如果您有兴趣编辑它的聚类方式,您可能会对所提议的更改感兴趣 reclustering
答案 1 :(得分:0)
您必须使用StyleMap和上下文:
var pointStyle = new OpenLayers.Style({
strokeWidth: "${strokeFunction}",
},{
context: {
strokeFunction: function(feature) {
if(feature.attributes.count>1) {
var count = feature.attributes.count;
var stk = Math.max(0.2 * count, 3);
return stk;
} else return 2;
}
}
});
这里我向您展示我的StyleMap的一个小例子,其中包含一个内部函数,用于处理单个或聚类特征的笔划。 您可以添加函数来处理值,边框,颜色等。