Eventos
Los eventos son disparadores que permiten al programador conocer cuándo ha ocurrido un suceso determinado, de manera que pueda actuar en consecuencia. Estos son los eventos que maneja Mapea:
Asociados al mapa y a las capas
Evento | Descripción | Evento | Descripción |
---|---|---|---|
M.evt.ADDED_LAYER | Se ha añadido una capa | M.evt.ADDED_WFS | Se ha añadido una capa WFS |
M.evt.ADDED_WMC | Se ha añadido un wmc | M.evt.ADDED_WMTS | Se ha añadido una capa WMTS |
M.evt.ADDED_KML | Se ha añadido una capa KML | M.evt.LOAD | * evento de capa vectorial: Se han cargado los features de la capa. * Sobre WMC: Se ha activado el WMC. |
M.evt.ADDED_WMS | Se ha añadido una capa WMS | M.evt.COMPLETED | Se ha completado la definición interna del mapa. Requiere capa base. |
M.evt.CHANGE_PROJ | Ha cambiado la proyección del mapa | M.evt.CHANGE_WMC | Ha cambiado el wmc activo. |
M.evt.CLICK | Se ha hecho click en el mapa (captura coordenadas) | M.evt.CHANGE_STYLE | * evento de capa vectorial: Ha cambiado el estilo de la capa. * evento de feature: Ha cambiado el estilo del feature. |
M.evt.REMOVED_LAYER | (v5.1.0+) evento de mapa: se ha eliminado una capa del mapa. | M.evt.REMOVED_FROM_MAP | (v5.2.0+) evento de capa: se ha eliminado una capa del mapa |
M.evt.CHANGE_ZOOM | (v6.1.0+) evento de mapa: Se ha producido un cambio en el nivel de zoom | M.evt.POPUP_ADDED | (6.2.0+) evento de mapa: Se ha añadido un Popup al mapa |
M.evt.POPUP_REMOVED | (v6.2.0+) evento de mapa: Se ha eliminado un Popup de mapa | M.evt.LAYER_VISIBILITY_CHANGE | (6.4.0+) evento de capa: Ha cambiado la visibilidad de la capa. El evento contiene booleano indicando nueva visibilidad |
💡 Para asociar un evento, se usa el método .on(evento,accion), y para desasociarlo, se usa .un(evento,accion)
// Declaramos directamente las acciones que realizar en el evento
mapajs.on(M.evt.ADDED_LAYER, function() {
console.log('Evento M.evt.ADDED_LAYER: se ha añadido una capa al mapa');
});
// O mediante una funcion definida
function mostrarMensajeEvento() {
M.dialog.info('el evento ha ocurrido');
}
mapajs.on(M.evt.ADDED_WFS, mostrarMensajeEvento);
// El evento de carga de WFS es util cuando queremos procesar los features
wfslayer.on(M.evt.LOAD, function(features) {
console.log("Evento M.evt.LOAD: se ha cargado la capa WFS en el mapa con los elementos:", features);
});
Asociados a los paneles
Evento | Descripción |
---|---|
M.evt.ADDED_TO_MAP | El panel se ha añadido al mapa |
M.evt.SHOW | El panel se ha abierto |
M.evt.HIDE | El panel se ha ocultado |
Asociados a los controles
Evento | Descripción |
---|---|
M.evt.ADDED_TO_PANEL | El control se ha añadido al panel |
M.evt.ACTIVATED | El control se ha activado |
M.evt.DEACTIVATED | El control se ha desactivado |
Ejemplo
newControl.on(M.evt.ACTIVATED,function(){console.log('Control Activado');});
Asociados a los paneles
Evento | Descripción |
---|---|
M.evt.ADDED_TO_MAP | El plugin se ha añadido al mapa |
Asociados a la interacción con features
Estos eventos devuelven siempre un Array con los features objeto del mismo, ya que es posible, según
la ubicación de los features y el nivel de zoom, que la selección o el desplazamiento se realice en múltiples
features simultáneamente.
Evento | Descripción |
---|---|
M.evt.SELECT_FEATURES | Se ha seleccionado un feature |
M.evt.UNSELECT_FEATURES | Un feature ha perdido la selección |
M.evt.HOVER_FEATURES | El cursor pasa por encima de un feature |
M.evt.LEAVE_FEATURES | El cursor abandona un feature |
Ejemplo
var capaKML = new M.layer.KML(
"KML*Arboleda*http://mapea4-sigc.juntadeandalucia.es/files/kml/*arbda_sing_se.kml*true");
// Los features sobre los que se pinche se devuelven en un Array
capaKML.on(M.evt.SELECT_FEATURES, function(features) {
alert("Se han seleccionado los features: ", features); });
Asociados a un Popup
Evento | Descripción | Evento | Descripción |
---|---|---|---|
POPUP_ADDED_TAB | (V6.2.0+) Se ha añadido una pestaña al popup | POPUP_REMOVED_TAB | (V6.2.0+) Se ha eliminado una pestaña del popup |
Otros
Evento | Descripción |
---|---|
M.evt.DESTROY | Se ha lanzado el método Destroy del elemento |
FeatureHandler
El objeto mapa posee un gestor de eventos llamado FeatureHandler desde el que se puede activar y desactivar la selección de features específicos, así como añadir o eliminar una capa vectorial de la gestión de eventos vectoriales:
// Array de features a seleccionar, capa que los contiene y evt opcional
mapajs.getFeatureHandler().selectFeatures([feature],layer,{});
// Array de features a deseleccionar, capa que los contiene y evt opcional
mapajs.getFeatureHandler().unselectFeatures([feature],layer,{});
// Eliminar una capa del gestor implica no poder usar los metodos
// anteriores sobre sus features
mapajs.getFeatureHandler().removeLayer(layer);
Esto simplemente marca los features como seleccionados/deseleccionados, por lo que cualquier comportamiento adicional asociado a la selección que se desee, tales como cambio de estilo, apertura de bocadillo, etc. deben ser gestionados adicionalmente. Ver ejemplo en JSFiddle
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
Mapea iframe
Solución de problemas
Mapea con ES Modules
Testing de aplicaciones
ROADMAP