-
Notifications
You must be signed in to change notification settings - Fork 15
Opciones
Mapea implementa por defecto una serie de propiedades que permiten personalizar el mapa a visualizar:
- En tiempo de construcción: zoom incial, bounding box, extensión máxima, proyección, centro, etiqueta, resoluciones.
- Por variables de configuración: Número de niveles de zoom.
- Mediante métodos: Color de fondo del mapa, permitir movimiento y zoom del ratón.
Las opciones que pueden especificarse durante la definición del mapa son las siguientes:
Parámetro | Descripción |
---|---|
zoom | nivel de zoom inicial del mapa |
bbox | encuadre de visualización del mapa |
maxExtent | máxima extensión permitida; a diferencia del bbox, no se dibujará el mapa fuera de los límites establecidos |
projection | proyección de visualización del mapa |
center | punto central del mapa |
label | popup con el texto indicado en una coordenada especificada o, en su defecto, en el centro (center) establecido del mapa |
resolutions | array con las resoluciones asociadas a cada nivel de zoom del mapa |
Cada uno de estos parámetros puede especificarse directamente en el constructor o bien a través de su método setter correspondiente, al igual que puede obtenerse su valor actual con su método getter
var mapajs = M.map({
container: "map",
controls: ["mouse", "layerswitcher"],
center: {
x: 311000,
y: 4040000,
draw: true
},
projection: "EPSG:25830*m",
zoom: 5
});
mapajs.setZoom(5);
var zoom = mapajs.getZoom();
mapajs.setBbox([323020,4126873,374759,4152013]);
var bbox = mapajs.getBbox();
mapajs.setMaxExtent ([323020,4126873,374759,4152013]);
var maxExtent = mapajs.getMaxExtent();
mapajs.setProjection ("EPSG:4326*d");
var projection = mapajs.getProjection();
Hay que tener en cuenta que si se cambia el sistema de referencia del mapa, las coordenadas que usemos a partir de ese momento deben ser las del nuevo sistema.
mapajs.setCenter({x:211000,
y:4040000,
draw: true});
💡 El parámetro draw indica si queremos añadir una chincheta en el punto central establecido
var center mapajs.getCenter();
mapajs.addLabel("texto <b>con html</b>",[211000, 4040000]);
//sin especificar coordenada, se añade en el centro establecido
mapajs.addLabel("texto <b>con html</b>");
//para eliminarla
mapajs.removeLabel();
var label = mapajs.getLabel();
Las resoluciones del mapa establecen las escalas a las que se visualizan las capas en cada nivel de zoom. Si fijamos manualmente las resoluciones, hay que tener en cuenta dos factores:
- Estaremos indirectamente estableciendo el número de niveles de zoom.
- Si usamos capas cacheadas compatibles con resoluciones específicas, pueden no mostrarse si no casan con las que establezcamos
El siguiente ejemplo establece resoluciones explícitas para el mapa:
// Dos resoluciones = dos niveles de zoom
mapajs.setResolutions([490.4640841686878, 296.4735539465016]);
// Podemos consultar las resoluciones del mapa
console.log(mapajs.getResolutions());
// También podemos definir las resoluciones en el constructor
mapajs = M.map({
container: 'map',
resolutions: [490.4640841686878, 296.4735539465016, 179.21101876124024],
projection : 'EPSG:25830*m'
});
Se puede ver un ejemplo funcional con algunos de estos parámetros en jsFiddle
(v6.2.0+) Instanciada antes de crear el mapa, la variable M.config.ZOOM_LEVELS permite definir el número de niveles de zoom que tendrá.
M.config.ZOOM_LEVELS=5;
let mapajs = new M.map({...});
- (v6.2.0+) Por defecto, el fondo del mapa no cubierto por capas se presenta en forma de cuadrícula gris y blanca, pero puede establecerse el color del fondo del mapa especificando el nombre o el código hexadecimal del color deseado:
mapajs.setBGColorContainer('black');
mapajs.setBGColorContainer('#4287f5');
- (v6.2.0+) También es posible activar o desactivar tanto el desplazamiento del mapa (drag) como el uso de la rueda del ratón para realizar zoom mediante los siguientes métodos:
// Desactivar zoom mediante rueda de ratón
mapajs.enableMouseWheel(false);
// Desactivar arrastrar el mapa con el ratón
mapajs.enableDrag(false);
- (v6.3.0+) Método para establecer el nivel de zoom al más cercano a una escala determinada (ya que cada nivel de zoom tiene una escala asociada definida en la construcción del mapa):
const mapajs = new M.map({
container: "map",
controls: ['layerswitcher','scale']
});
// Solo cuando el mapa este definido por completo internamente
mapajs.on(M.evt.COMPLETED, () => mapajs.setToClosestScale(200000));
Inicio
Primeros pasos
Personalizar del mapa
> Capas raster
WMS, WMC, WMTS, Mapbox, OSM
> Capas vectoriales
WFS, GeoJSON, KML, MVT
Features
Filtros
Simbología
• Genérica (Puntos, Líneas, Polígonos)
• Básica (Puntos, Líneas, Polígonos)
• Coropletas, Proporcional, Categorías, Estadísticos, Mapas de Calor
• Cluster, Composición
> Otros formatos
GeoPackage, MBtiles
> Grupos de capas
> Controles básicos
> Opciones
> Paneles
> Extensión máxima
> Proyecciones
Plugins
> API versiones plugin
Proxys
Eventos
Utilidades
Diálogos
Popups
i18n
Acceso librerías base
> versionado
> versiones Mapea disponibles
Mapea iframe
Solución de problemas
Mapea con ES Modules
Testing de aplicaciones
ROADMAP