Skip to content

2.4. Paneles

yaizavalidador edited this page Jun 23, 2023 · 1 revision

El API proporciona una serie de paneles que facilitan la organización de plugins y controles sobre el mapa. Para crear uno de estos paneles se proporciona el objeto del tipo M.ui.Panel:

const panelExtra = new M.ui.Panel('toolsExtra', {
  "collapsible": true,
  "className": 'm-tools',
  "collapsedButtonClass": 'g-cartografia-herramienta',
  "position": M.ui.position.TL
});
panelExtra.addControls([new M.control.Location()]);
mapajs.addPanels([panelExtra]);
  • collapsible: indica si se podrá contraer (true) o no (false).

  • className: clase CSS que se usará para los estilos del panel.
    Es posible especificar varias clases de manera que se puedan extender las existentes con las personalizaciones que se deseen, bastaría con definir los estilos deseados en nuestro css e importarlo después:

    "className": 'm-tools m-tools-extra'
    .m-tools-extra > button.m-panel-btn {
      color: #f00819;
      background-color: #ffffff;
    }
  • collapsedButtonClass: clase CSS que definirá el icono del panel contraído. No es obligatorio y si no se indica, por defecto mostrará una flecha en la dirección de despligue.

  • position: establece la posición del panel y puede tomar los siguientes valores:

    Valor Descripción
    M.ui.position.TL Arriba a la izquierda
    M.ui.position.TR Arriba a la derecha
    M.ui.position.BR Abajo a la derecha
    M.ui.position.BL Abajo a la izquierda

Gestión de paneles
En cualquier momento pueden recuperarse los paneles existentes en el mapa, filtrando por el nombre si así se desea:

   const panel = mapajs.getPanels('miPanel')[0];

Además de en el constructor, se puede manipular el estilo del panel accediendo directamente su template:

   panel.getTemplatePanel().style.backgroundColor = "red";

Los paneles pueden abrirse/cerrarse mediante instrucciones a través de sus métodos open() y collapse() respectivamente.

Los paneles son contendores directos de controles, ya sean básicos o de plugins, y pueden obtenerse así:

   const controles = panel.getControls();

Se pueden crear y añadir paneles al mapa utilizando el método .addPanels del mapa, con esto se puede crear paneles con extensiones en cliente (sin compilar).

const panelExtra = new M.ui.Panel('nombrePanel', {
  "collapsible": true,
  "className": 'nombreDeLaClase',
  "collapsedButtonClass": 'claseDelBotón',
  "position": M.ui.position.TL
});

mapjs.addPanels(panelExtra);

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