GenericVector - Desarrollos-IDEE/API-IDEE GitHub Wiki
GenericVector permite añadir cualquier tipo de capa vector pasando el objeto capa de la librería base como tercer parámetro.
1.- En el constructor del mapa:
const olLayer = new ol.layer.Vector({
source: new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: 'https://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application%2Fjson',
strategy: ol.loadingstrategy.bbox,
}),
});
const GenericVector = new IDEE.layer.GenericVector({}, {}, olLayer)
// Instanciando la capa
const map = IDEE.map({
container: 'map',
layers: [GenericVector],
});
2.- Mediante los métodos addLayers:
const olLayer = new ol.layer.Vector({
source: new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: 'https://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application%2Fjson',
strategy: ol.loadingstrategy.bbox,
}),
});
const GenericVector = new IDEE.layer.GenericVector({}, {}, olLayer)
map.addLayers(GenericVector)
Parámetros:
- name: nombre de la capa.
- legend: Nombre asociado en el árbol de contenidos, si usamos uno.
- isBase: 'true' si se quiere definir la capa como capa base, 'false' en caso contrario.
- visibility: Indica la visibilidad de la capa.
- styles: Estilos de la capa.
- maxExtent: La medida en que restringe la visualización a una región específica.
- infoEventType: Define si consultar la capa con un clic o con "hover".
- ids: Opcional - identificadores por los que queremos filtrar los objetos geográficos.
- cql: Opcional - Sentencia CQL para filtrar los objetos geográficos. El método setCQL(cadena_cql) refresca la capa aplicando el nuevo predicado CQL que reciba.
-
extract: Opcional Activa la consulta por clic en el objeto geográfico, por defecto verdadero.
- Las capas GenericVector cuentan con métodos get y set para modificar el extract.
capa.extract = true; // activa consulta
capa.extract = false; // desactiva consulta
console.log(capa.extract); // muestra el estado de la propiedad
-
template: Opcional Plantilla que se mostrará al consultar un objeto geográfico.
- Las capas GenericVector cuentan con métodos get y set para modificar el template.
capa.template = `<div>My custom popup</div>`; // especifica la plantilla
console.log(capa.template); // muestra el estado de la propiedad
-
attribution: Atribución de la capa.
- name. Nombre de la atribución
- description. Descripción de la atribución.
- url. URL de la atribución.
- contentAttributions. Atribuciones por objetos geográficos, por defecto vacío.
- contentType. Tipo de url de “contentAttributions” (KML o GeoJSON).
-
options: Estas opciones se mandarán a la implementación de la capa.
- styles: Estilos de la capa.
- sldBody: Parámetros "ol.source.ImageWMS".
- minZoom: Zoom mínimo aplicable a la capa.
- maxZoom: Zoom máximo aplicable a la capa.
- queryable: Indica si la capa es consultable.
- crossOrigin: Atributo crossOrigin para las imágenes cargadas.
- minScale: Escala mínima.
- maxScale: Escala máxima.
- minResolution: Resolución mínima.
- maxResolution: Resolución máxima.
- opacity: Opacidad de capa, por defecto 1.
const olLayer = new ol.layer.Vector({
source: new ol.source.Vector({
format: new ol.format.GeoJSON(),
url: 'https://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=tematicos:Provincias&maxFeatures=50&outputFormat=application%2Fjson',
strategy: ol.loadingstrategy.bbox,
}),
});
const generic = new IDEE.layer.GenericVector({
// name: 'Nombre de prueba',
// ids: '1,2',
// cql: "nombre LIKE '%ada%'",
// extract: true,
// infoEventType: 'hover',
// maxExtent: [-952551.7366869409, 4498177.065457279, -669276.1098620776, 4562995.6654431075],
// legend: 'capaGenericVector',
// maxExtent: [-952551.7366869409, 4498177.065457279, -669276.1098620776, 4562995.6654431075],
}, {
// visibility: false,
// opacity: 0.5,
// minZoom: 5,
// maxZoom: 7,
// minScale: 2000000,
// maxScale: 7000000,
// minResolution: 705.5551745557614,
// maxResolution: 2469.443110945165,
}, olLayer);
Ejemplos: