Geoperfiles

Los geoperfiles son visores web que se crean a partir de componentes de GRAMA. Se componen de: plugins, capas, controles y características del mapa.

Se ha elaborado un manual de desarrollo de geoperfiles.

Los geoperfiles se componen de 3 ficheros: 

  • B_GEOPERFIL (geoperfil.json).
    • Se debe generar un UUID propio para el geoperfil y deberá coincidir con el UUID del geoperfil en la base de datos.
    • En “vmapea” se indica la versión de Mapea que se quiere usar en el geoperfil. Si no se añade esta línea indicando versión, usará Mapea 4 por defecto.
    • En “profile” se introducen los plugins y el contexto (maxextent, initialboundingbox, layersTree).
    • En “plugins” se introducen los plugins como un array de objetos con las siguientes propiedades, de las que solo son obligatorias el id y el name.
    • En “context” se quedan todos los campos así por defecto (Tiene el BBOX que ocupa toda Andalucía, se puede cambiar si se requiere otra perspectiva inicial).
  • B_MAPV (mapv.js).
    • Es el JavaScript inicializador del geoperfil.
    • En esta parte, se instancia los plugins y se añade la lógica funcional.
    • Aunque no es obligatorio, es una buena práctica añadir unos comentarios iniciales indicando el nombre del geoperfil, su versión y el uuid que le corresponde.
  • B_WMS (wms.js).
    • Fichero JavaScript que define las urls de los servidores.
    • Actualmente no se utiliza y solo se añade lo siguiente porque sino el geoperfil no puede funcionar: “var predefServersArray = [];”

Descargar arquetipo_geoperfil - (0,01MB)

https://www.juntadeandalucia.es/medioambiente/redmineProyectos/documents/3695

Los pasos a seguir para realizar el despliegue de un geoperfil son los siguientes:

  1. Crear ficheros principales de un geoperfil.
  2. Generar un UUID para el geoperfil (solo en la primera versión).
  3. Generar un UUID para la versión del geoperfil.
  4. Crear insert.
  5. Ir a la base de datos (GRADGPRMG) y ejecutar el script de inserción en la base de datos.
  6. Probar el despliegue.

Se ha añadido una guía en la cual se explica el mecanismo de proveedores implementado en el entorno de integración para el despliegue de geoperfiles en dicho entorno sin interceder en el core de GRAMA. Acceso a Redmine.

Descargar plantilla_geoperfil - (0,01MB)

Acceso a Redmine

Para acceder al visor de un geoperfil de la base de datos se ha de añadir el UUID del geoperfil a la siguiente dirección, donde está desplegado el GI-BROKER:

https://www.juntadeandalucia.es/medioambiente/gr-gibroker/saltoVisor/ {UUID del geoperfil}

 

También es posible acceder:

  • A una versión concreta de un geoperfil:

https://www.juntadeandalucia.es/medioambiente/gr-gibroker/saltoVisor/ {UUID del geoperfil}? vgeoperfil={versión}

  • Ocultando los plugins que no se deseen mostrar:

https://www.juntadeandalucia.es/medioambiente/gr-gibroker/saltoVisor/ {UUID del geoperfil}? hidePlugins={nombre del plugin}

  • Combinando ambos filtros:

https://www.juntadeandalucia.es/medioambiente/gr-gibroker/saltoVisor/ {UUID del geoperfil}?hidePlugins={nombre del plugin}&vgeoperfil={versión}

 

Para añadir el visor dentro de una aplicación web, se hace mediante un iframe y comunicaciones con postMessage. En la parte de la aplicación, se debe crear un iframe y enviar los datos necesarios al visor mediante postMessage: var ifr= document.getElementById('ifrm').contentWindow; ifr.postMessage('Hello to iframe from parent!', '*');

El visor, debe estar a la escucha para recibir los datos: window.addEventListener('message', doFuncionalidad, false);

Para que el visor comunique a la aplicación que se ha cargado el mapa: En en visor se debe añadir: window.parent.postMessage('OK','*');

Y en el padre: window.addEventListener('message', receiver, false); function receiver(e) { if (e.origin == urlMapa) { } }

  • Estilo CSS dentro de "mapv.js"

Para añadir estilos directamente al geoperfil se puede usar la etiqueta \<script> en el map view, pero eso no es una buena práctica. Para evitarlo, se pueden definir las clases CSS que se quieran usar en el plugin y asociarlas a los elementos del geoperfil o modificar directamente el estilo de los elementos en el map view mediante javascript. Como es posible que los elementos no se hayan cargado en el momento de la ejecución del "mapv.js", se utilizan eventos para aplicar los estilos una vez estemos seguros de que el elemento se ha cargado. Los eventos más útiles de Mapea para esto son "ADDED_TO_MAP" y "ACTIVATED". Para eventos más concretos, se pueden usar listeners para esperar a hacer click sobre botones.. La mejor manera para probar el código y averiguar los elementos es usando la consola javascript del navegador. Para saber más acerca de los eventos de Mapea, consultar el siguiente enlace.

  • Comprobar versión de Mapea en el Geoperfil.
    • Acceder al geoperfil.
    • Pulsar F12 o abrir la consola de desarrollador del navegador.
    • Introducir en la consola: M.version
      • Si responde un valor, esa es la versión en uso.
      • Si no responde valor (undefined), normalmente se trata de la versión 4.3.0. Si se desea comprobar el valor exacto.
        • Inspeccionar el HTML principal y buscar enel archivo configuration.js → Normalmente "https://mapea4-sigc.juntadeandalucia.es/js/configuration.js"
        • Abrir la URL y encontraremos en el título del archivo comentado la versión.