1 votos

Problemas de visualización de etiquetas vectoriales

Quiero mostrar las etiquetas de cada característica, pero me sale el error "Uncaught ReferenceError: Style is not defined". ¿Cómo puedo solucionarlo correctamente?

     var map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.OSM()
            })
        ],
        view: new ol.View({
            center: ol.proj.fromLonLat([102.291163, 12.809588]),
            zoom: 9
        })
    });
    var labelStyle = new Style({
        text: new Text({
            font: '12px Calibri,sans-serif',
            overflow: true,
            fill: new Fill({
            color: '#000'
            }),
            stroke: new Stroke({
            color: '#fff',
            width: 3
            })
        })
    });

    var tambonStyle = new Style({
        fill: new Fill({
            color: 'rgba(255, 255, 255, 0.6)'
        }),
        stroke: new Stroke({
            color: '#319FD3',
            width: 1
        })
    });

    var style = [tambonStyle, labelStyle];

    var layer_source = new ol.source.Vector({
        url: 'geojson/tambon_wgs84.geojson',
        format: new ol.format.GeoJSON()
    });

    var layer_tambon = new ol.layer.Vector({
        source: layer_source,
        style: function(features) {
            labelStyle.getText().setText(features.get('TAM_NAM_T'));
            return style;
        },
        declutter: true
    });

    map.addLayer(layer_tambon);

1voto

hood Puntos 16

Dado que está utilizando OpenLayers completo ol.js hay que utilizar las llamadas apropiadas que empiezan por ol. para todos los módulos. Esto es fácil de olvidar cuando se copia el código de los ejemplos oficiales de OpenLayers, que utilizan import para los módulos individuales.

En tu caso sería:

  • ol.style.Style
  • ol.style.Text
  • ol.style.Fill
  • ol.style.Stroke

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X