Plugin que permite comparar varias capas sobre una cartografía base. La extensión de las capas sobre lienzo vienen definidas por la posición del ratón o por el punto medio del lienzo.
- lyrcompare-1.1.0.ol.min.js
- lyrcompare-1.1.0.ol.min.css
- Mapea v6.2.0
<link href="../../plugins/lyrcompare/lyrcompare.ol.min.css" rel="stylesheet" />
<script type="text/javascript" src="../../plugins/lyrcompare/lyrcompare.ol.min.js"></script>
-
El constructor se inicializa con un JSON de options con los siguientes atributos:
-
layer. Parámetro obligatorio. Array que puede contener el/los nombre/s de la/s capa/s (que está/n en el mapa), la/s url en formato mapea para insertar una capa a través de servicios WMS ó WMTS, o la capa como objeto.
-
position. Indica la posición donde se mostrará el plugin.
- 'TL':top left
- 'TR':top right (default)
- 'BL':bottom left
- 'BR':bottom right
-
collapsible. Si es true, el botón aparece, y puede desplegarse y contraerse. Si es false, el botón no aparece. Por defecto tiene el valor true.
-
collapsed. Si es true, el panel aparece cerrado. Si es false, el panel aparece abierto. Por defecto tiene el valor true.
-
staticDivision. Permite definir si al arrancar la herramienta la posición de la división es:
- 0 (Dinámico): sigue la posición del ratón.
- 1 (Estático): está el punto medio del lienzo de cartografía y el mapa es desplazable
- 2 (Mixto): igual que el modo estático, pero se puede mover la división arrastrándola.
-
opacityVal. Define el valor de la opacidad que se aplicará a las capas que se muestran sobre la cartografía base. Rango 0 a 100.
-
comparisonMode. Define el tipo de comparación con la que arranca. Rango 0,3.
- 0: arranca con el modo de comparación apagado.
- 1: arranca con el modo de comparación cortina vertical.
- 2: arranca con el modo de comparación de cortina horizontal.
- 3: arranca con el modo de comparación múltiple de cuatro capas.
-
defaultLyrA. Define la capa uno que se carga por defecto. Valores de 0 al número de capas disponibles. Por defecto: 0
-
defaultLyrB. Define la capa dos que se carga por defecto. Valores de 0 al número de capas disponibles. Por defecto: 1
-
defaultLyrC. Define la capa tres que se carga por defecto. Valores de 0 al número de capas disponibles. Por defecto: 2
-
defaultLyrD. Define la capa cuatro que se carga por defecto. Valores de 0 al número de capas disponibles. Por defecto: 3
-
interface. Define si mostrar o no la interfaz del plugin.
Actualmente está disponible español e inglés.
M.language.setLang('es');//Idioma español
M.language.setLang('en');//Idioma inglés
Se pueden crear más ficheros de idioma. Basta con copiar la estructura de los ficheros json de la carpeta \src\facade\js\i18n , renombrar con la abreviatura del nuevo idioma (fr para el fránces), y cambiar los textos, manteniendo las keywords.
Insertar capas WMS con formato Mapea. El modo de comparación es 0, por lo que no se iniciará al cargarlo. El modo de división es 1 por lo que será estático. La interfaz está activa.
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'WMS*SIGPAC*https://www.ign.es/wms/pnoa-historico*SIGPAC',
'WMS*OLISTAT*https://www.ign.es/wms/pnoa-historico*OLISTAT',
'WMS*Nacional_1981-1986*https://www.ign.es/wms/pnoa-historico*Nacional_1981-1986',
'WMS*Interministerial_1973-1986*https://www.ign.es/wms/pnoa-historico*Interministerial_1973-1986',
],
collapsible: true,
collapsed: true,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 0,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: true,
});
Al no indicar capas mostrará un error en pantalla: El número de capas es insuficiente para aplicar el efecto
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
collapsible: true,
collapsed: false,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 0,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: true,
});
WMS con formato Mapea y sin interfaz
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'WMS*SIGPAC*https://www.ign.es/wms/pnoa-historico*SIGPAC',
'WMS*OLISTAT*https://www.ign.es/wms/pnoa-historico*OLISTAT',
'WMS*Nacional_1981-1986*https://www.ign.es/wms/pnoa-historico*Nacional_1981-1986',
'WMS*Interministerial_1973-1986*https://www.ign.es/wms/pnoa-historico*Interministerial_1973-1986',
],
collapsible: true,
collapsed: false,
staticDivision: 0,
opacityVal: 100,
comparisonMode: 2,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: false,
});
WMTS con formato Mapea y sin interfaz
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'WMTS*http://www.ideandalucia.es/geowebcache/service/wmts?*orto_2010-11',
'WMTS*http://www.ideandalucia.es/geowebcache/service/wmts?*toporaster',
'WMTS*http://www.callejerodeandalucia.es/servicios/base/gwc/service/wmts?*SPOT_Andalucia',
'WMTS*http://www.callejerodeandalucia.es/servicios/base/gwc/service/wmts?*base',
],
collapsible: true,
collapsed: false,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 1,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: false,
});
WMS como objeto
const wms1 = new M.layer.WMS('WMS*SIGPAC*https://www.ign.es/wms/pnoa-historico*SIGPAC');
const wms2 = new M.layer.WMS('WMS*OLISTAT*https://www.ign.es/wms/pnoa-historico*OLISTAT');
const wms3 = new M.layer.WMS('WMS*Nacional_1981-1986*https://www.ign.es/wms/pnoa-historico*Nacional_1981-1986');
const wms4 = new M.layer.WMS('WMS*Interministerial_1973-1986*https://www.ign.es/wms/pnoa-historico*Interministerial_1973-1986');
map.addLayers([wms1, wms2, wms3, wms4]);
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'SIGPAC', 'OLISTAT', 'Nacional_1981-1986', 'Interministerial_1973-1986'
],
collapsible: true,
collapsed: false,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 1,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: false,
});
WMTS como objeto
const wmts1 = new M.layer.WMTS('WMTS*http://www.ideandalucia.es/geowebcache/service/wmts?*orto_2010-11');
const wmts2 = new M.layer.WMTS('WMTS*http://www.ideandalucia.es/geowebcache/service/wmts?*toporaster');
const wmts3 = new M.layer.WMTS('WMTS*http://www.callejerodeandalucia.es/servicios/base/gwc/service/wmts?*SPOT_Andalucia');
const wmts4 = new M.layer.WMTS('WMTS*http://www.callejerodeandalucia.es/servicios/base/gwc/service/wmts?*base');
myMap.addLayers([wmts1, wmts2, wmts3, wmts4]);
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'orto_2010-11', 'toporaster', 'SPOT_Andalucia-1986', 'base'
],
collapsible: true,
collapsed: false,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 1,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: false,
});
WMS + WMTS como cadena y como texto
const wmts1 = new M.layer.WMTS('WMTS*http://www.ideandalucia.es/geowebcache/service/wmts?*orto_2010-11');
const wms2 = new M.layer.WMS('WMS*OLISTAT*https://www.ign.es/wms/pnoa-historico*OLISTAT');
myMap.addLayers([wmts1, wms2]);
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'orto_2010-11', 'OLISTAT', 'WMS*Nacional_1981-1986*https://www.ign.es/wms/pnoa-historico*Nacional_1981-1986', 'WMTS*http://www.callejerodeandalucia.es/servicios/base/gwc/service/wmts?*base'
],
collapsible: true,
collapsed: false,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 1,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: false,
});
Al añadir capas que no son válidas para el plugin no se contarán y mostrará el mensaje: El número de capas es insuficiente para aplicar el efecto
const pluginLyrCompare = new M.plugin.LyrCompare({
position: 'TL',
layers: [
'WFST*CapaWFS*http://geostematicos-sigc.juntadeandalucia.es/geoserver/tematicos/ows?*tematicos:Provincias*MPOLYGON',
'KML*Arboleda*http://mapea4-sigc.juntadeandalucia.es/files/kml/*arbda_sing_se.kml*true',
'WFST*CapaWFSColegio*http://g-gis-online-lab.desarrollo.guadaltel.es/geoserver/ggiscloud_root/wms?*ggiscloud_root:a1585301579731_colegios*MPOINT',
'WFST*CapaWFSRed*http://g-gis-online-lab.desarrollo.guadaltel.es/geoserver/ggiscloud_root/wms?*ggiscloud_root:a1585301955480_red_hidrografica*MLINE',
],
collapsible: true,
collapsed: false,
staticDivision: 1,
opacityVal: 100,
comparisonMode: 0,
defaultLyrA: 0,
defaultLyrB: 1,
defaultLyrC: 2,
defaultLyrD: 3,
interface: true,
});