1 votos

GeoServer WFS capa cargada pero no se muestra (OpenLayers 3)

Estoy tratando de cargar una capa WFS compuesta por puntos. Fiddler muestra que los datos están siendo devueltos pero no se están mostrando.

¿Alguien sabe qué me falta? ¿Tiene algo que ver con que esté en proyección OSGB?

He creado un fiddle para mostrar mi código (con la capa base eliminada): https://jsfiddle.net/7mm1bges/

Parece que el método para obtener datos WFS a través de OpenLayers ha evolucionado con el tiempo, así que he optado por la metodología mostrada aquí:

http://openlayers.org/en/latest/examples/vector-wfs.html

Aquí hay un ejemplo de los datos JSON que Fiddler muestra que están siendo devueltos:

{"type":"FeatureCollection",
"totalFeatures":1803,
"features":[{"type":"Feature","id":"EAFloodAlertsWarningCentroids.1",
"geometry":{"type":"Point","coordinates":[339095.07019032,345438.84249476]}

...

0voto

Hugues Van Landeghem Puntos 5689

Después de bajar por el oscuro laberinto de GeoServer, OpenLayers 3 y las solicitudes WFS, creo que llegué al fondo del(s) problema(s).

Mi principal error fue pensar que al ejecutar Fiddler actuaba como un proxy de sustitución para el desarrollo. Funciona con WMS pero no al 100% con WFS por alguna razón. La solicitud de arriba utiliza JSON, tuve que cambiarlo a JSONP para que funcionara en un dominio cruzado, pero primero tuve que habilitar JSONP en el archivo web.xml de GeoServer (GeoServer 2.3 cómo habilitar jsonp).

Aún así no funcionaba porque los ejemplos en el sitio web de openlayers son basura, no están actualizados o nunca funcionaron: la respuesta jsonp de geoserver no se puede asignar a la capa, necesita ser analizada en 2 etapas utilizando el siguiente método:

   window.loadFeatures = function (response) {
            vector
                .getSource()
                .addFeatures(new ol.format.GeoJSON().readFeatures(response));
        };

Consulta esto para ver de dónde saqué esto:http://jsfiddle.net/goldrydigital/08zzh9n9/

He actualizado el fiddle con la función completa, espero que esto ayude a alguien: https://jsfiddle.net/q8wz1gvg/6/

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