Personalizar el mapa - IGN-CNIG/API-CNIG GitHub Wiki

La personalización del mapa que queremos construir recae en las siguientes categorías:

  • Capas: Son los datos a mostrar y conforman el mapa que se representará. Actualmente, la API-CNIG acepta los principales orígenes de datos OGC.
  • Controles: Son las herramientas que incluye el mapa y que permiten trabajar con él, tales como herramientas de medición, de coordenadas, etc. Se dividen en dos categorías: controles básicos y plugins.
  • Opciones: Permiten establecer características concretas del mapa o del área a visualizar, como son el centrado en un punto, nivel de zool inicial, sistema de referencia, etc.
  • Internacionalización: Permiten establecer un idioma concreto al mapa, controles y plugins. Más información.
    • M.language.getTranslation([nombre_idioma]): Retorna un JSON con todas las traducciones.
    • M.plugin.[nombre_plugin].getJSONTranslations([nombre_idioma]): Retorna un JSON con las traducciones de un plugin.
    • M.language.addTranslation([nombre_idioma]): Permite establecer un idioma concretro al mapa, se tiene que declarar antes que M.map.
    • M.language.getLang(): Devuelve el idioma actual.
    • M.language.setLang(): Modifica el idioma.
M.language.addTranslation('ca', {
    "scale": {
        "title": "Escala",
        "scale": "Escala",
        "level": "Nivel"
    },
    "attributions": {
        "exception": {
            "impl": "La implementació no pot crear controls de Attribution.",
            "mode": "L'opció 'mode' no s'ha establert correctament. Consell: {mode: 1 | 2 | 3}.",
            "type": "L'opció 'type' no ha estat establerta. Quan l'opció 'url' és usada el plugin necessita l'opció 'type'. Valors = geojson | kml | topojson.",
            "layer_name": "L'opció 'layerName' no s'ha establert. Quan l'opció 'url' s'utilitza el connector necessita l'opció 'layerName'."
        },
        "attribution": "atribució",
        "tooltip": "Reconeixements"
    }
});

M.language.setLang('ca');

const mapa = new M.map({
    container: 'map',
    bbox: [-1715858.410945638, 4318997.846225591, 632287.0979749766, 4797187.895177655],
    controls: ['scale*true'],
});
  • Configuration: Por defecto la API-CNIG proporciona unas configuraciones por defecto: configuration.js

Para modificar esta configuración se tiene que hacer antes de crear el mapa "M.map". Por ejemplo:

M.config('tms', {
  base: 'TMS*PNOA-MA*https://tms-pnoa-ma.idee.es/1.0.0/pnoa-ma/{z}/{x}/{-y}.jpeg*true*false*19',
});

const map = M.map({
  container: 'mapjs',
  controls: ['scale'],
  zoom: 6,
  bbox: [-3132050.401125163, 3036505.360983581, 983484.0466877755, 5563700.732843714],
});

Ejemplos

Configuración de visualizador: https://componentes.cnig.es/GaleriaEjemplos_APICNIG/ejemplos/configuracionVisualizador01.html
Configuración de idioma a través de una extensión personalizada:
https://componentes.cnig.es/GaleriaEjemplos_APICNIG/ejemplos/cambioIdioma01.html
Extensión fuentes de datos: https://componentes.cnig.es/GaleriaEjemplos_APICNIG/ejemplos/attributions01.html