2015-08-04 11 views
1

У меня есть карта с несколькими маркерами, каждая из которых имеет метку, представляющую данные в этой точке маркера. Когда эти маркеры перекрываются, метки всегда находятся поверх всех маркеров. Я бы хотел показать только ярлык для верхнего маркера. Если два маркера перекрываются прямо сейчас, метка нижнего маркера все еще отображается над верхним маркером. Кто-нибудь знает, как решить эту проблему в openlayers 3?Ярлыки с открытыми слоями, перекрывающиеся

ответ

3

Свойство стиля zIndex можно использовать для прикрепления этикеток к маркеру. При работе с функцией стиля слоя определение слоя может выглядеть так:

var style = new ol.style.Style({ 
    text: new ol.style.Text({ 
    text: '', 
    // ... 
    }), 
    image: new ol.style.Icon({ 
    // ... 
    }) 
}); 
var styles = [style]; 
var index = 0; 
var vectorLayer = new ol.layer.Vector({ 
    style: function(feature, resolution) { 
    style.getText().setText(feature.get('name')); 
    style.setZIndex(index); 
    index = (index == Number.MAX_VALUE) ? 0 : index + 1; 
    return styles; 
    } 
}); 
Смежные вопросы