Как сделать sh новый стиль в массиве стиля кластера через указатель перемещения - PullRequest
0 голосов
/ 06 августа 2020

Как я могу сделать sh несколько стилей для текущего стиля кластера с помощью pointermove.

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

Мой код примерно такой: https://openlayers.org/en/latest/examples/cluster.html, но стиль var я меняю на array. а перемещение указателя выглядит так:

    map.on('pointermove', function(e) {
        var pixel = map.getEventPixel(e.originalEvent);

        var feature = map.forEachFeatureAtPixel(e.pixel, function (feature) {
          
            if (feature.values_.features.length > 1) {
                var offsetY = -10;
                
                var style = [];
                for (output of feature.values_.features) {
                    styleCache[0].push(new ol.style.Style({
                        text: new ol.style.Text({   
                            text: output.style_.text_.text_,    
                            offsetX: 55,
                            offsetY: offsetY,
                            textBaseline: "middle",
                            stroke: new ol.style.Stroke({
                                color:"#fff", 
                                width:2.5 
                            }),
                            fill: output.style_.text_.fill_,
                        })
                    }));
                    offsetY = offsetY + 25;
                    
                }
                
                console.log(styleCache);
                feature.setStyle(styleCache)
                
                
 
                

            }
        
        });

        

        var hit = map.hasFeatureAtPixel(pixel);
        map.getTargetElement().style.cursor = hit ? 'pointer' : '';
      

        
        
    });

пожалуйста, помогите мне с этим.

...