1

我的问题是集群策略。例如,如果地图在第一个缩放级别包含 3 个集群,并且当单击地图的放大 (+) 时,集群会扩展并划分为更小的集群,并且还可能包含单个要素。我不知道单击放大以进行聚类策略时发生的内部过程是什么。

如果有人知道在集群中发生的后台过程中帮助我,或者给我任何建议的链接。

4

2 回答 2

1

正如 Kryger 所说,在https://github.com/openlayers/openlayers/blob/master/lib/OpenLayers/Strategy/Cluster.js很容易找到答案。在第 152 行附近,您将看到一个名为 cluster 的函数。这通过像 {zoomChanged: zoomChanged} 这样的事件对象调用。

现在,如果您对编辑它的聚类方式感兴趣,您可能会对重新聚类提议的更改感兴趣 。

于 2013-10-15T17:50:16.290 回答
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 的一个小示例,该示例具有一个内部函数来处理单个或集群特征的笔画。您可以添加函数来处理值、边框、颜色等。

于 2014-01-09T23:09:59.693 回答