Skip to content

2.3. Plugins

carmenmarquez edited this page Jun 4, 2024 · 21 revisions

Los plugins o componentes son funcionalidades que ofrecen utilidades específicas que, a diferencia de los controles básicos, suelen usarse en escenarios concretos, por lo que se separan del core o núcleo principal de la API para no penalizar con su descarga a quien no los necesite. Por esa razón, cada plugin tiene sus propios ficheros de recursos, que deben importarse junto a los del core, tal como se indica en la sección de primeros pasos de esta wiki.

A continuación, se muestra un ejemplo de ficheros a añadir para incluir el plugin information. Este plugin permite hacer la petición GetFeatureInfo sobre las capas que sean consultables. Estas librerías se añaden a las del core o núcleo principal de la API:

<!DOCTYPE html>
<html>
<head>
    <!-- fichero estilos -->
    <!-- Estilo principal de la API-CORE -->
    <link href="https://componentes.cnig.es/api-core/assets/css/apiign.ol.min.css" rel="stylesheet" />
    <!-- Estilo para el plugin information-->
    <link href="https://componentes.cnig.es/api-core/plugins/information/information.ol.min.css" rel="stylesheet" />
    <!-- ficheros javascript -->
    <!-- Javascript API-CORE -->
    <script type="text/javascript" src="https://componentes.cnig.es/api-core/js/apiign.ol.min.js"></script>
    <script type="text/javascript" src="https://componentes.cnig.es/api-core/js/configuration.js"></script>
    <!-- Javascript plugin information-->
    <script type="text/javascript"
        src="https://componentes.cnig.es/api-core/plugins/information/information.ol.min.js"></script>
    <!-- estilo básico -->
    <style>
        html,
        body {
            margin: 0;
            padding: 0;
            height: 100%;
        }
    </style>
</head>
<body>
    <div id="map"></div>
    <script type="text/javascript">
        // Creamos mapa
        mapajs = M.map({
            container: "map" //id del contenedor del mapa
        });
        // Una vez importado los ficheros necesarios podemos crear el plugin y añadirlo al mapa:
        const mp = new M.plugin.Information({
            position: 'BL',
            tooltip: 'Consultar capas',
            format: 'html',
            featureCount: 5,
            buffer: 5,
            opened: 'one',
        });
        mapajs.addPlugin(mp);
    </script>
</body>
</html>

Podemos obtener todos los plugins añadidos al mapa con el método getPlugins():

mapajs.getPlugins();

Y podemos eliminar todos/algunos plugins del mapa con el método removePlugins():

mapajs.removePlugins(mapajs.getPlugins());

El conjunto de plugins que extiende el core de la API CNIG pueden verse en su página de test, donde además es posible observar y cambiar la parametrización.

Para conocer con mas detalle los parámetros y configuración de los plugins puede consultar su documentación a continuación:

Plugin Descripción
backimglayer Plugin que permite la elección de capas de fondo mediante imágenes o thumbnails.
buffer Plugin que permite el cálculo de áreas de influencia sobre geometrías que se van dibujando sobre la vista.
comparators Plugin que permite hacer comparaciones de capas en un visualizador.
contactlink Plugin que sirve como punto de conexión entre visualizadores. Provee de enlaces a sitios web, redes sociales y correos institucionales. Esta extensión contiene los enlaces a "descargas CNIG", "comparador PNOA", "visualizador 3D" y "Fototeca".
help Plugin que obtiene la ayuda de cada herramienta (plugins y controles), si la tiene disponible), y la muestra en una página HTML.
incicarto Plugin que permite la identificación de incidencias sobre la cartografía.
infocoordinates Plugin que muestra las coordenadas de los puntos que se van señalando en el mapa.
information Plugin que muestra información GetFeatureInfo mediante activación de plugin.
layerswitcher Plugin que permite gestionar y cargar capas, configurar opacidad, estilos, visibilidad y consulta de metadatos.
locator Plugin que ofrece diferentes herramientas de localización.
measurebar Herramienta de medición de áreas y distancias.
modal Plugin que muestra información sobre el visor y acceso al manual de uso.
mousesrs Muestra las coordenadas del ratón sobre el mapa y sistema de referencia.
overviewmap Mapa de localización sobre la vista.
printviewmanagement Plugin que permite la impresión del mapa.
queryattributes Plugin aplicar filtros sobre las capas de un mapa y visualizar de forma gráfica las features que cumplen los filtros. Permite guardar consultas, combinarlas y exportar los resultados de estas.
rescale Utilidad que permite hacer zoom a partir de valores introducidos por el usuario.
selectionzoom Plugin que permite la elección de cada de fondo mediante previsualización de las posibles capas.
sharemap Habilita la compartición de la visión actual del mapa.
stylemanager Permite la edición de estilos en las capas vectoriales.
storymap Muestra una historia en forma de carrusel. Esta compuesta por diferentes steps en los cuales se ejecurán animaciones preconfiguradas.
timeline Plugin de línea del tiempo.
topographicprofile Muestra la topografía de una zona marcada por el usuario.
vectorsmanagement Plugin que permite el dibujo y edición de geometrías sobre un mapa, así como su descarga.
viewmanagement Plugin que permite utilizar diferentes herramientas de zoom: centrar el mapa en las vistas indicadas, zoom con una caja, navegar entre las vistas visitadas y acercar o alejar a una vista del mapa.

En la carpeta principal de cada uno existe un fichero README.md que lo documenta: descripción, ficheros de recursos y ejemplos.

Plugins obsoletos

Plugin Descripción
attributions Habilita la visualización de atribuciones de las capas del mapa.
predefinedzoom Centra el mapa en la/s vista/s indicada/s por parámetro.
viewhistory Permite navegar entre las vistas visitadas del mapa (hacia adelante y atrás).
zoomextent Permite realizar zoom con una caja sobre el mapa.
zoompanel Ofrece diferentes herramientas de zoom.
ignsearch Plugin que permite la búsqueda de Direcciones postales (Geocoder de Cartociudad) y Topónimos (Nomenclátor del IGN).
ignsearchlocator Plugin que permite la búsqueda de Direcciones postales y Topónimos.
xylocator Herramienta para localizar unas coordenadas sobre el mapa, dadas en un sistema de referencia determinado.
infocatastro Plugin que muestra la referencia catastral para un punto y provee de enlace a la información de la DGC.
fulltoc Plugin que permite gestionar y cargar wms y wmts y configurar opacidad, estilos, visibilidad y consulta de metadatos.
toc Tabla de contenidos simple para la activación/desactivación de la visualización de capas.
transparency Plugin que permite aplicar un efecto de transparencia a la capa seleccionada.
lyrcompare Plugin que permite comparar varias capas sobre una cartografía base.
mirrorpanel Plugin que permite comparar varias capas dividiendo la pantalla en varias partes.
comparepanel Plugin recopila los comparadores.
popup Plugin que muestra información sobre el visor y acceso al manual de uso.
georefimage Plugin que permite la descarga de la imagen georeferenciada que se muestra en pantalla.
georefimage2 Plugin que permite la descarga de la imagen georeferenciada que se muestra en pantalla, de los servicios Ráster y de PNOA de forma directa.
printermap Plugin que permite imprimir el mapa mostrado.
geometrydraw Plugin que permite el dibujo y edición de geometrías sobre un mapa, así como su descarga.
selectiondraw Plugin que permite dibujar geometrías y obtenerlas al terminar para ser mostradas o para lanzar filtros espaciales.
vectors Plugin que permite el dibujo y edición de geometrías sobre un mapa, así como su descarga.

1.INICIO
   1.1. Componentes de la API-CNIG
   1.2. Documentación y Puntos de acceso
   1.3. Primeros pasos
   1.4. Diagrama API CNIG

2. MAPA
2.1. Capas

 ■ 2.1.1. Fuentes
   • 2.1.1.1. Capas vectoriales
     + Vector
     + WFS
     + GeoJSON
     + KML
     + MVT
     + OGCAPIFeatures
     + MBTilesVector
     + GenericVector
     + MapLibre
   • 2.1.1.2. Capas ráster
     + WMS
     + WMTS
     + TMS
     + XYZ
     + OSM
     + MBTiles
     + GenericRaster
     + GeoTIFF
   • 2.1.1.3. Capas rápidas
   • 2.1.1.4. Grupo de capas

 ■ 2.1.2. Simbolización
   • 2.1.2.1. Genérica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.2. Básica
     + Puntos
     + Líneas
     + Polígonos
   • 2.1.2.3. Avanzada
     + Coropletas
     + Proporcional
     + Categorías
     + Estadísticos
     + Mapas de Calor
     + Cluster
     + Línea de flujo
     + Composición

 ■ 2.1.3. Filtros

2.3.-Plugins

  > Creación de plugin en cliente

  » Tutorial de creación de un plugin

2.4. Paneles

  » Creación de panel desde cero sin controles

  » Tutorial Panel de un único control

  » Tutorial Panel de un único control con más de un botón

  » Tutorial Panel con más de un control

2.5. Eventos

  » Gestión de eventos
  » Gestión de eventos en controles personalizados

    2.6. Internacionalización

    2.7. Configuración

    2.8. Acceso librerías base

3. UTILIDADES

4. PROXY

5. API REST
 5.1. Parametrización API-REST
 5.2. Base de Datos API-REST
 5.3. API REST Actions
 5.4. Servicio de correos electrónicos
 5.5. Capas rápidas

6. PARAMETRIZACIÓN VISUALIZADORES

7. SOLUCIÓN DE PROBLEMAS

8. PROCESO DE VERSIONADO

9. GUÍA DE DESARROLLO
  > Guía para el desarrollo de API-CNIG
  » Tutorial desarrollo del núcleo de API-CNIG - (Cliente)
  > Guía de desarrollo de componentes
  » Tutorial desarrollo del núcleo de API-CNIG - (Servidor)
  > Guía de desarrollo de plugins
  » Tutorial desarrollo de plugins ya creados
  » Tutorial desarrollo de nuevos plugins
  > Guía de desarrollo de visualizadores con React

  > Compilación proyecto API-CNIG

Clone this wiki locally