GeoServer 2.3 cómo habilitar jsonp

13

Me gustaría habilitar jsonp en GeoServer 2.3.0. Los docs dicen establecer ENABLE_JSONP en verdadero.

Una respuesta de la lista de usuarios de GeoServer dice que se edite web.xml, (establezca la variable del sistema ENABLE_JSONP = true y outFormat = text / javascript) pero no tengo idea de qué etiquetas xml usar y dónde colocarlas.

Aquí están las versiones instaladas: GeoServer 2.3.0 (archivo web) se ha instalado en un host remoto con tomcat 7.0.39

    
pregunta geomajor56 08.04.2013 - 22:35

2 respuestas

32

Obtuve ayuda en la lista de usuarios de GeoServer.

Agregue a este archivo: /tomcat/webapps/geoserver/WEB-INF/web.xml

<context-param>
    <param-name>ENABLE_JSONP</param-name>
    <param-value>true</param-value>
</context-param>

y reinicia el servicio. Luego, en su solicitud json use format = text / javascript

Aquí está el código que utilicé para solicitar las funciones WFS de GeoServer. Estoy usando la API de folletos junto con jquery.

var rootUrl = 'http://tomcat.capecodgis.com/geoserver/capecodgis/ows';

var defaultParameters = {
    service: 'WFS',
    version: '1.0.0',
    request: 'GetFeature',
    typeName: 'capecodgis:monitor_station',
    maxFeatures: 200,
    outputFormat: 'text/javascript',
    format_options: 'callback: getJson'

};

var parameters = L.Util.extend(defaultParameters);

$.ajax({
    url: rootUrl + L.Util.getParamString(parameters),
    dataType: 'jsonp',
    jsonpCallback: 'getJson',
    success: handleJson
});


function handleJson(data) {
    L.geoJson(data, {
        onEachFeature: onEachFeature,
        pointToLayer: function (feature, latlng) {
            return L.circleMarker(latlng, geojsonMarkerOptions);
            //return L.marker(latlng);
        }
    }).addTo(map);
}

Espera que esto te ayude a comenzar y no dudes en pedir más información.

    
respondido por el geomajor56 10.04.2013 - 00:20
3

Para mejorar la legibilidad, también puede poner los parámetros directamente en la llamada AJAX.

Con la llamada JSONP no necesitarás las opciones de formato o el parámetro de éxito. La función de devolución de llamada se establecerá con el parámetro jsonpCallback en la llamada AJAX y las opciones de formato se establecerán con jsonp: 'format_options'.

    $.ajax('http://demo.opengeo.org/geoserver/wfs',{
        type: 'GET',
        data: {
            service: 'WFS',
            version: '1.0.0',
            request: 'GetFeature',
            typeName: 'capecodgis:monitor_station',
            maxFeatures: 200,
            outputFormat: 'text/javascript',
            request: 'GetFeature',
            srsname: 'EPSG:3857',
            bbox: extent.join(',') + ',EPSG:3857'
            },
        dataType: 'jsonp',
        jsonpCallback:'callback:handleJson',
        jsonp:'format_options'
        });
    },
    
respondido por el Dennis Bauszus 20.05.2015 - 17:09

Lea otras preguntas en las etiquetas