Skip to content

7. Solución de problemas

IngenieroGeomatico edited this page Oct 10, 2024 · 1 revision

Cuando se presenta un problema o la aplicación no funciona como debiera, lo primero que debe hacer el desarrollador es activar las herramientas de depuración de las que disponga el navegador que esté usando, tales como las [Chrome DevTools](https://developers.google.com/web/tools/chrome-devtools/). Con dichas herramientas se pueden visualizar mensajes de error, advertencias, peticiones de red, y mucha más información que ayudará a diagnosticar la causa del problema.

Presentamos a continuación una lista con algunos de los problemas que puede encontrar el desarrollador, junto a las posibles soluciones:

  • Problema: El mapa se queda en blanco. La consola de error muestra el mensaje 'Promise is not defined '.

Solución: El navegador [no es compatible](https://kangax.github.io/compat-table/es6/) con la versión de javascript [ES2015](https://en.wikipedia.org/wiki/ECMAScript), por lo que es necesario importar la librería:

 <script type="text/javascript" src="http://componentes.cnig.es/api-core/vendor/browser-polyfill.js"></script>
  • Problema: Al usar API-CNIG junto con JQuery Mobile, se cambian los estilos de algunos controles.

Solución: Modificar la plantilla html del control y añadirle la etiqueta data-role="none", quedando así:

 <select class="m-wmcselector-select" data-role="none">
- Problema: Apache Tomcat no admite "{}" en las peticiones de la API REST.

Solución: Incluir dentro del archivo server.xml (/usr/local/tomcat/conf/server.xml), la siguiente línea:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" relaxedQueryChars="{,},[,]" />
  • Problema: la fuente de datos GeoJSON no se refresca con el método .refresh().

Solución: realizar el refresco mediante el siguiente proceso:

    var miGeoJSON = new M.layer.GeoJSON({
        name: "mi capa",
        source:{
           "type": "FeatureCollection",
           "features": []
       },
    });
    myTimer()
    setInterval(myTimer, 1000*30);
        function myTimer(OL_aaaa) {
            M.remote.get("https://www.ign.es/resources/geodesia/GNSS/SPTR_geo.json",{}).then(function (res) {
               miGeoJSON .clear()
               miGeoJSON .getImpl().loadFeaturesPromise_ = null
               miGeoJSON .setSource(JSON.parse(res.text))
               console.log(JSON.parse(res.text))
      });
    }
  • Problema: Se ha encontrado un problema de estilo CSS en ordenadores Mac.

Solución: Abrir la ventana de desarrollador, haciendo click en adoptar el modo de diseño con capacidad de respuesta.

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