He intentado con diferentes configuraciones y formatos, pero no he tenido éxito.
Con firebug, puedo ver que los datos json están cargados, pero no aparece nada en el mapa.
¿Alguien tiene experiencia con geoserver y wfs en openlayers 3?
var layer_ojd_vector = new ol.layer.Vector({
source: new ol.source.Vector({
parser: new ol.parser.GeoJSON(),
url: http://SERVER:8080/geoserver/NS/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=NS:LAYER&maxFeatures=50&outputFormat=json
}),
style: new ol.style.Style({rules: [
new ol.style.Rule({
filter: 'geometryType("point")',
symbolizers: [
new ol.style.Shape({
fillColor: '#013',
size: 40
})
]
})
]})
});
geoserver
javascript
wfs
openlayers
Trond Thorbjørnsen
fuente
fuente
Estoy de acuerdo con Kyle. Incluso un año después, me llevó un tiempo encontrar buenos ejemplos con explicaciones que puedan reproducirse fácilmente.
Me gustan los ejemplos del libro de Openlayers 3. Lamentablemente no tengo acceso al libro en sí, pero creo que está bien escrito a juzgar por los ejemplos.
Este ejemplo es para ol 3.4
http://acanimal.github.io/thebookofopenlayers3/chapter03_07_query_wfs.html
Tuve algunos problemas al replicar el ejemplo maestro ol 3.5 vector-wfs de la página de ejemplos de openlayers. Estos problemas probablemente ya se hayan solucionado.
http://openlayers.org/en/master/examples/vector-wfs.html
Creé tres jsfiddle para demostrar llamadas ol 3.5.0 a través de AJAX para ol.format.GeoJSON (JSON y JSONP), así como ol.format.WFS.
WFS (el acceso CORS debe estar habilitado en el servidor web, por ejemplo , para Apache Tomcat )
http://jsfiddle.net/goldrydigital/9d3jzpna/
JSON (el acceso CORS debe estar habilitado en el servidor web, por ejemplo , para Apache Tomcat )
http://jsfiddle.net/goldrydigital/ucspgvx0/
JSONP (JSONP debe estar habilitado en Geoserver )
http://jsfiddle.net/goldrydigital/08zzh9n9/
fuente
Creo que lo que necesita es esto:
Referencia de la API de configuración REST
Con REST puede llamar datos entre servidores (o entre, por ejemplo, Apache en el puerto 80 y geoservidor en el puerto 8080 si es el mismo servidor).
fuente