javascript - Openlayer 2.x 集群

标签 javascript openlayers

我正在尝试使用描述的属性聚类 here 。我已复制 OpenLayers.Strategy.AttributeCluster =... 片段。这是我的代码:

styleMap = new OpenLayers.StyleMap({
  label: "${labelText}",
  fontColor: "blue",
  fontSize: "12px",
  fontFamily: "Courier New, monospace",
  fontWeight: "bold",
  labelAlign: "lc",
  labelXOffset: "14",
  labelYOffset: "0",
  labelOutlineColor: "white",
  labelOutlineWidth: 3,
  //fillColor: "#ee9900",
  fillColor: "${fillColor}",
  fillOpacity: 0.3,
  stroke: false
});
strategies.push(new OpenLayers.Strategy.AttributeCluster({
  attribute: 'obs'
}));
var vectorLayer = new OpenLayers.Layer.Vector("Overlay", {
  styleMap: styleMap,
  strategies: strategies
});
map.addLayer(vectorLayer);

我通过以下方式创建功能:

var circle = new OpenLayers.Geometry.Polygon.createRegularPolygon(
        new OpenLayers.Geometry.Point( dataArr[i][2],dataArr[i][1]).transform(epsg4326, projectTo), 100, 20, 0);
    var feature = new OpenLayers.Feature.Vector(circle, {labelText: dataArr[i][0], all: dataArr[i][5],ami: dataArr[i][6],obs: dataArr[i][3], fillColor: areaColors[dataArr[i][3]]});

然后我向图层添加功能:

vectorLayer.addFeatures(features);

当我运行页面时,只有标签可见(没有圆圈),但在放大和缩小时,没有任何功能聚集。我的代码中缺少什么?

最佳答案

您应该将“pointRadius”属性添加到您的样式图中,因为聚类绘制点而不是多边形特征。

关于javascript - Openlayer 2.x 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35721597/

相关文章:

javascript - 如何在时钟选择器中添加时间和子午线(AM?PM)之间的分隔符?

javascript - HTML5 在多个浏览器窗口之间拖放多个元素

javascript - amCharts 光标缩放在 OpenLayers map 叠加层中不起作用

javascript - 给定整数范围之间的随机数组,包含该范围内每个整数的至少一个实例

javascript - jest.config.js 中的 `moduleNameMapper` 设置在 CircleCI 上不起作用

JavaScript 命名空间 - 寻找简单高效的方法

angular - OpenLayers 6 与 Angular 9 中没有交互

javascript - OpenLayers - 样式标签忽略加号

google-maps - Openlayers 商业应用 : licensing issues?

javascript - Openlayers - 在 map 上的弹出窗口中显示 geojson 文件中的数据