2015-12-09 2 views
9

Для сгруппированных особенностей, которые я хотел бы сделать следующий стиль в Ol3:OpenLayers 3 Offset RegularShape

квадрат, а поверх него еще один небольшой квадрат в правом верхнем углу. Большой квадрат будет содержать символ, а меньший квадрат будет содержать количество сгруппированных объектов.

Подобно this

Можно ли добиться этого? В API я видел, что ol.style.Icon и ol.style.Text имеют свойства привязки и смещения, но не RegularShape ...

ответ

1

Я в конечном итоге преодолел эту проблему с использованием одного png-изображения, которое включало квадрат и меньший квадрат, тоже, и наслаивали динамический текст на ней, как это:

var clusterStyle = [new ol.style.Style({ 
     image: new ol.style.Icon({ 
      src: clustericon.png 
     }), 
     text: new ol.style.Text({ 
      text: feature.get('features').length.size.toString(), 
      offsetY: -18, 
      offsetX: 18, 
      font: '12px Arial', 
      fill: new ol.style.Fill({ 
      color: '#fff' 
      }), 
      scale: 1 
     }), 
     zIndex: 20 
     }), new ol.style.Style({ 
     image: new ol.style.Icon({ 
      src: 'overlayicon.png' 
     }), 
     zIndex: 21 
     })]; 

Вы также можете вставить изображение наложения на него. Надеюсь, это поможет вам в любом случае