将标签限制为MultiPolygon功能的一个标签

时间:2015-11-02 18:19:23

标签: openlayers-3

OpenLayers 3.10.1中的默认标签标记了MultiPolygon的每个部分。我想知道是否可以只标记MultiPolygon中的第一个多边形。

1 个答案:

答案 0 :(得分:6)

您可以为标签使用单独的样式geometry function,它会为标签位置返回单个点。

var styles = [
  // Style for the label
  new ol.style.Style({
    text: new ol.style.Text({..}),
    geometry: function(feature) {
        // expecting a MultiPolygon here
        var interiorPoints = feature.getGeometry().getInteriorPoints();
        return interiorPoints.getPoint(0);
    }
  }),
  // Style for the polygons
  new ol.style.Style({
    stroke: new ol.style.Stroke({...}),
    fill: new ol.style.Fill({...})
  })
];

http://jsfiddle.net/p0acpbtg/2/