CQL_FILTER=variable?

51 views
Skip to first unread message

elcaiaimar

unread,
Mar 18, 2015, 1:42:18 PM3/18/15
to geoser...@googlegroups.com
Hola!

Estoy intentando usar una variable como un valor para filtrar capas pero siempre obtengo lo mismo: Uncaught SyntaxError: Unexpected token <
Si uso un simple valor en CQL_FILTER, funciona perfectamente:

var imbornalesSource = new ol.source.ServerVector({
    format
: new ol.format.GeoJSON(),
    loader
: function(extent, resolution, projection) {
     
var url = 'http://localhost:8080/geoserver/cia/wfs?service=WFS' +
         
'&version=1.1.0&request=GetFeature&typename=cia:imbornales&PROPERTYNAME=gid_cuenca_id&CQL_FILTER=gid_cuenca_id=1&' +
         
'outputFormat=text/javascript&format_options=callback:imbornalesloadFeatures' +
         
'&srsname=EPSG:3857';
      $
.ajax({
        url
: url,
        dataType
: 'jsonp'
     
});
   
},
    projection
: 'EPSG:3857'
 
});

Sin embargo, si trato de hacer lo siguiente, recibo el error mencionado:

var myVar = 3

var tramosSource = new ol.source.ServerVector({
    format
: new ol.format.GeoJSON(),
    loader
: function(extent, resolution, projection) {
     
var url = 'http://localhost:8080/geoserver/cia/wfs?service=WFS' +
         
'&version=1.1.0&request=GetFeature&typename=cia:tramos&PROPERTYNAME=gid_cuenca_id&CQL_FILTER=gid_cuenca_id=myVar&' +
         
'outputFormat=text/javascript&format_options=callback:tramosloadFeatures' +
         
'&srsname=EPSG:3857';
      $
.ajax({
        url
: url,
        dataType
: 'jsonp'
     
});
   
},
    projection
: 'EPSG:3857'
 
});

Necesito poder filtrar mediante variables, pero no se como hacerlo. ¿Hay alguna solución para esto?

Muchas gracias de antemano!

Micho García

unread,
Mar 19, 2015, 3:45:21 AM3/19/15
to geoser...@googlegroups.com

Hola,

antes de nada comprueba, en la segunda petición, que se esté sustituyendo 'myVar' por 3, ya que según tienes el código no se debe estar haciendo. No se si será la causa del error, pero si necesitas corregir eso para ir acotando.

>
> var myVar = 3
>
> var tramosSource = new ol.source.ServerVector({
>     format: new ol.format.GeoJSON(),
>     loader: function(extent, resolution, projection) {
>       var url = 'http://localhost:8080/geoserver/cia/wfs?service=WFS' +

>           '&version=1.1.0&request=GetFeature&typename=cia:tramos&PROPERTYNAME=gid_cuenca_id&CQL_FILTER=gid_cuenca_id=' + myVar.toString() + '&' +


>           'outputFormat=text/javascript&format_options=callback:tramosloadFeatures' +
>           '&srsname=EPSG:3857';
>       $.ajax({
>         url: url,
>         dataType: 'jsonp'
>       });
>     },
>     projection: 'EPSG:3857'
>   });
>
> Necesito poder filtrar mediante variables, pero no se como hacerlo. ¿Hay alguna solución para esto?
>
> Muchas gracias de antemano!
>

> --
> --
> Has recibido este mensaje por estar suscripto al grupo "GeoServer en Español" de Google Groups.
> Para escribir a este grupo, envía un e-mail a geoser...@googlegroups.com
> Para dejar el grupo, envía un e-mail a geoserver-es...@googlegroups.com
> Para más opciones, visita la página del grupo en http://groups.google.com/group/geoserver-es?hl=es
> ---
> Has recibido este mensaje porque estás suscrito al grupo "GeoServer en Español" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a geoserver-es...@googlegroups.com.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages