{"id":82,"date":"2024-12-20T17:16:59","date_gmt":"2024-12-20T17:16:59","guid":{"rendered":"https:\/\/canariaslife.com\/?page_id=82"},"modified":"2026-10-22T11:05:49","modified_gmt":"2026-10-22T10:05:49","slug":"lanzarote-live-kameras","status":"publish","type":"page","link":"https:\/\/canariaslife.com\/de\/camaras-de-lanzarote\/","title":{"rendered":"Webcam Lanzarote"},"content":{"rendered":"\n<div class=\"wp-block-uagb-container uagb-layout-flex uagb-block-f840cd04 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div class=\"wp-block-uagb-advanced-heading uagb-block-ae96c2e8\"><h1 class=\"uagb-heading-text\"><strong>Webcams en Lanzarote en directo<\/strong><\/h1><p class=\"uagb-desc-text\">Volcanes y playas en directo: mar, viento y clima en tiempo real.<\/p><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-56038c9a alignfull uagb-is-root-container\">\n<div class=\"wp-block-uagb-container uagb-block-b0659e48 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  MUNICIPIOS DE LANZAROTE \u2014 Ver lista \/ Ver mapa\n  v2: Leaflet y los l\u00edmites municipales se cargan solo al pulsar \"Ver mapa\"\n  L\u00edmites: \/wp-content\/uploads\/cl-geo\/lanzarote.js\n-->\n<style>\n\n\/* =========================================================\n   LANZAROTE - MUNICIPIOS \/ WEBCAMS\n   ========================================================= *\/\n\n.cl-mw5{\n  max-width:700px;\n  margin:0 auto;\n  padding:0 16px;\n  box-sizing:border-box;\n}\n\n.cl-mtitle5{\n  font-size:26px !important;\n  line-height:1.2 !important;\n  font-weight:700 !important;\n  color:#2571B0 !important;\n  text-align:center;\n  margin:0 0 16px !important;\n}\n\n\n\/* =========================================================\n   BOTONES\n   ========================================================= *\/\n\n.cl-mbtns5{\n  display:flex;\n  gap:8px;\n  width:100%;\n}\n\n.cl-mbtn5{\n  flex:1 1 0;\n  min-width:0;\n\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  gap:8px;\n\n  padding:12px 16px;\n\n  background:#f5f5f5;\n  border:1px solid #ddd;\n  border-radius:8px;\n\n  cursor:pointer;\n\n  font-family:inherit;\n  font-size:15px;\n  line-height:1.2;\n  font-weight:600;\n\n  color:#333;\n\n  box-sizing:border-box;\n\n  -webkit-appearance:none;\n  appearance:none;\n}\n\n.cl-mbtn5:hover{\n  background:#eee;\n}\n\n.cl-mbtn5.cl-active{\n  background:#e6f1fb;\n  border-color:#2571B0;\n  color:#2571B0;\n}\n\n.cl-mbtn5 svg{\n  width:18px !important;\n  height:18px !important;\n  min-width:18px;\n  max-width:18px;\n  display:block;\n}\n\n\n\/* =========================================================\n   PANNELLI\n   ========================================================= *\/\n\n.cl-mpanel5{\n  overflow:hidden;\n  max-height:0;\n  transition:max-height .35s ease;\n}\n\n.cl-mpanel5.cl-open{\n  max-height:5000px;\n}\n\n.cl-minner5{\n  padding:4px 0;\n}\n\n\n\/* =========================================================\n   MAPPA\n   ========================================================= *\/\n\n#clMapLZ{\n  width:100%;\n  height:800px;\n  background:#fff;\n  position:relative;\n}\n\n\n\/* =========================================================\n   LIVELLO LEAFLET\n   ========================================================= *\/\n\n#clMapLZ .leaflet-container{\n  position:relative;\n  z-index:0 !important;\n}\n\n#clMapLZ .leaflet-pane{\n  z-index:1 !important;\n}\n\n#clMapLZ .leaflet-top,\n#clMapLZ .leaflet-bottom{\n  z-index:2 !important;\n}\n\n\n\/* =========================================================\n   ASTRA SOPRA LA MAPPA\n   ========================================================= *\/\n\n#ast-desktop-header,\n#ast-mobile-header,\n.ast-header-sticked,\n.ast-header-sticked .main-header-bar,\n.ast-header-sticked .main-header-bar-wrap,\n.ast-header-sticked .ast-primary-header,\n.ast-header-sticked .ast-primary-header-bar{\n  z-index:99999 !important;\n}\n\n\n\/* =========================================================\n   INFO MAPPA\n   ========================================================= *\/\n\n.cl-map-loading{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  height:100%;\n  color:#999;\n  font-size:14px;\n}\n\n.cl-map-info5{\n  background:#fff;\n  padding:8px 12px;\n  border-radius:6px;\n  box-shadow:0 1px 4px rgba(0,0,0,.15);\n\n  font-size:13px;\n  line-height:1.4;\n\n  min-width:145px;\n}\n\n.cl-map-info5 b{\n  display:block;\n  font-size:14px;\n  margin-bottom:3px;\n}\n\n.cl-map-info5 .cl-badge{\n  display:inline-block;\n\n  background:#e6f1fb;\n  color:#2571B0;\n\n  font-weight:700;\n  font-size:11px;\n\n  padding:2px 8px;\n  border-radius:4px;\n\n  margin-top:4px;\n}\n\n\n\/* =========================================================\n   LISTA MUNICIPI\n   ========================================================= *\/\n\n.cl-mrow5{\n  border-bottom:1px solid #eee;\n}\n\n.cl-mrow5:last-child{\n  border-bottom:none;\n}\n\n.cl-mrow5-top{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n}\n\n.cl-mrow5-link{\n  flex:1 1 auto;\n\n  display:block;\n\n  padding:10px 16px;\n\n  text-decoration:none !important;\n\n  color:#333;\n\n  font-size:14px;\n  line-height:1.3;\n\n  min-width:0;\n}\n\n.cl-mrow5-link:hover{\n  color:#2571B0;\n}\n\n\n\/* =========================================================\n   COMUNI CON WEBCAM IN GRASSETTO\n   ========================================================= *\/\n\n.cl-mrow5.cl-cam .cl-mrow5-link{\n  font-weight:700 !important;\n}\n\n\n\/* =========================================================\n   FRECCIA\n   ========================================================= *\/\n\n.cl-mrow5-expand{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  width:40px;\n  min-width:40px;\n  height:40px;\n\n  border:0;\n  padding:0;\n  margin:0;\n\n  background:transparent;\n\n  cursor:pointer;\n\n  -webkit-appearance:none;\n  appearance:none;\n}\n\n.cl-mrow5-icon{\n  display:flex;\n  align-items:center;\n  justify-content:center;\n\n  width:26px;\n  height:26px;\n\n  border-radius:50%;\n\n  background:#e6f1fb;\n  color:#2571B0;\n\n  transition:transform .2s;\n}\n\n.cl-mrow5-icon svg{\n  width:14px;\n  height:14px;\n  display:block;\n}\n\n.cl-mrow5-expand.cl-open .cl-mrow5-icon{\n  transform:rotate(90deg);\n}\n\n\n\/* =========================================================\n   SOTTO MENU WEBCAM\n   ========================================================= *\/\n\n.cl-msubs5{\n  overflow:hidden;\n  max-height:0;\n  transition:max-height .25s ease;\n}\n\n.cl-msubs5.cl-open{\n  max-height:1000px;\n}\n\n.cl-msub5{\n  display:flex;\n  align-items:center;\n  gap:8px;\n\n  padding:8px 16px 8px 32px;\n\n  text-decoration:none !important;\n\n  color:#777;\n\n  font-size:13px;\n  line-height:1.3;\n\n  border-top:1px solid #f3f3f3;\n}\n\n.cl-msub5:hover{\n  color:#2571B0;\n}\n\n.cl-msub5 svg{\n  width:14px;\n  height:14px;\n  min-width:14px;\n  display:block;\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media(max-width:767px){\n\n  .cl-mw5{\n    padding:0 10px;\n  }\n\n  .cl-mtitle5{\n    font-size:22px !important;\n    line-height:1.2 !important;\n    margin-bottom:16px !important;\n  }\n\n  .cl-mbtn5{\n    padding:12px 10px;\n    font-size:15px;\n    gap:7px;\n  }\n\n  .cl-mbtn5 svg{\n    width:18px !important;\n    height:18px !important;\n  }\n\n  #clMapLZ{\n    height:460px !important;\n    margin-top:-40px;\n  }\n\n  .cl-map-info5{\n    margin-bottom:0 !important;\n    transform:none !important;\n  }\n\n}\n\n\n\/* =========================================================\n   DESKTOP\n   ========================================================= *\/\n\n@media(min-width:768px){\n\n  #clMapLZ{\n    height:800px !important;\n  }\n\n}\n\n<\/style>\n\n\n<!-- =========================================================\n     HTML\n     ========================================================= -->\n\n<div class=\"cl-mw5\">\n\n  <h2 class=\"cl-mtitle5\">\n    Municipios de Lanzarote\n  <\/h2>\n\n\n  <div class=\"cl-mbtns5\">\n\n    <button type=\"button\" class=\"cl-mbtn5\" id=\"clBtnListLZ\">\n\n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n        <line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"><\/line>\n        <line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"><\/line>\n        <line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"><\/line>\n\n        <line x1=\"3\" y1=\"6\" x2=\"3.01\" y2=\"6\"><\/line>\n        <line x1=\"3\" y1=\"12\" x2=\"3.01\" y2=\"12\"><\/line>\n        <line x1=\"3\" y1=\"18\" x2=\"3.01\" y2=\"18\"><\/line>\n      <\/svg>\n\n      <span id=\"clBtnListLabelLZ\">\n        Ver lista\n      <\/span>\n\n    <\/button>\n\n\n    <button type=\"button\" class=\"cl-mbtn5\" id=\"clBtnMapLZ\">\n\n      <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\n        <polygon points=\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\"><\/polygon>\n\n        <line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"18\"><\/line>\n        <line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"22\"><\/line>\n\n      <\/svg>\n\n      <span id=\"clBtnMapLabelLZ\">\n        Ver mapa\n      <\/span>\n\n    <\/button>\n\n  <\/div>\n\n\n  <!-- =======================================================\n       LISTA\n       ======================================================= -->\n\n  <div class=\"cl-mpanel5\" id=\"clPanelListLZ\">\n\n    <div class=\"cl-minner5\" id=\"clMunListLZ\"><\/div>\n\n  <\/div>\n\n\n  <!-- =======================================================\n       MAPPA\n       ======================================================= -->\n\n  <div class=\"cl-mpanel5\" id=\"clPanelMapLZ\">\n\n    <div id=\"clMapLZ\"><\/div>\n\n  <\/div>\n\n<\/div>\n\n\n<div class=\"cl-urlmap\" hidden=\"\" aria-hidden=\"true\"><a data-k=\"\/camaras-de-lanzarote\/arrecife\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/arrecife\/puerto\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/puerto\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/arrecife\/aeropuerto-de-lanzarote\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/aeropuerto-de-lanzarote\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/arrecife\/castillo-san-gabriel\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/castillo-san-gabriel\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/arrecife\/charco-de-san-gines\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/charco-de-san-gines\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/haria\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/haria\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/san-bartolome\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/san-bartolome\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/san-bartolome\/vista-desde-montana-mina\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/san-bartolome\/vista-desde-montana-mina\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/teguise\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/teguise\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/teguise\/playa-las-cucharas\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/teguise\/playa-las-cucharas\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/teguise\/la-graciosa\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/teguise\/la-graciosa\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/teguise\/caleta-del-sebo-puerto\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/teguise\/caleta-del-sebo-puerto\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/tias\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/tias\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/tias\/playa-de-los-pocillos\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/tias\/playa-de-los-pocillos\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/tias\/playa-blanca-puerto-del-carmen\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/tias\/playa-blanca-puerto-del-carmen\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/tias\/playa-grande-norte\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/tias\/playa-grande-norte\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/tinajo\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/tinajo\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/yaiza\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/yaiza\/\"><\/a><a data-k=\"\/camaras-de-lanzarote\/yaiza\/playa-blanca\/\" href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/yaiza\/playa-blanca\/\"><\/a><\/div>\n<script>\n\n(function(){\n\n  'use strict';\n\n\n  \/* =========================================================\n     LINGUA\n     ========================================================= *\/\n\n  var parts =\n    window.location.pathname\n      .split('\/')\n      .filter(Boolean);\n\n\n  var lang =\n    (\n      parts[0] === 'en' ||\n      parts[0] === 'it' ||\n      parts[0] === 'de'\n    )\n      ? parts[0]\n      : 'es';\n\n\n  var titles = {\n    es:'Municipios de Lanzarote',\n    en:'Municipalities of Lanzarote',\n    it:'Comuni di Lanzarote',\n    de:'Gemeinden von Lanzarote'\n  };\n\n\n  var listLabels = {\n    es:'Ver lista',\n    en:'View list',\n    it:'Vedi lista',\n    de:'Liste anzeigen'\n  };\n\n\n  var mapLabels = {\n    es:'Ver mapa',\n    en:'View map',\n    it:'Vedi mappa',\n    de:'Karte anzeigen'\n  };\n\n\n  var camLabels = {\n    es:'webcams',\n    en:'webcams',\n    it:'webcam',\n    de:'Webcams'\n  };\n\n\n  var titleEl =\n    document.querySelector('.cl-mtitle5');\n\n\n  if(titleEl){\n\n    titleEl.textContent =\n      titles[lang];\n\n  }\n\n\n  document.getElementById(\n    'clBtnListLabelLZ'\n  ).textContent =\n    listLabels[lang];\n\n\n  document.getElementById(\n    'clBtnMapLabelLZ'\n  ).textContent =\n    mapLabels[lang];\n\n\n  var langPrefix =\n    lang !== 'es'\n      ? '\/' + lang\n      : '';\n\n  \/* URL tradotti da TranslatePress (evita redirect nelle lingue EN\/IT\/DE) *\/\n  var clUrlMap = {};\n  document.querySelectorAll('.cl-urlmap a[data-k]').forEach(function(a){ clUrlMap[a.getAttribute('data-k')] = a.getAttribute('href'); });\n  function clTr(u){ return clUrlMap[u] || (langPrefix + u); }\n\n\n    var i18n = {\n      tapAgain:{\n        es:'Toca de nuevo para abrir',\n        en:'Tap again to open',\n        it:'Tocca di nuovo per aprire',\n        de:'Erneut tippen zum \u00d6ffnen'\n      },\n      tapMun:{\n        es:'Toca un municipio',\n        en:'Tap a municipality',\n        it:'Tocca un comune',\n        de:'Tippe auf eine Gemeinde'\n      },\n      hoverMun:{\n        es:'Pasa el cursor sobre un municipio',\n        en:'Hover over a municipality',\n        it:'Passa il cursore su un comune',\n        de:'Fahre mit dem Cursor \u00fcber eine Gemeinde'\n      }\n    };\n\n\n\n  \/* =========================================================\n     MUNICIPI DI LANZAROTE\n     ========================================================= *\/\n\n  var municipios = [\n\n    {\n      n:'Arrecife',\n      url:'\/camaras-de-lanzarote\/arrecife\/',\n      cams:[\n\n        {\n          name:'Puerto de Los M\u00e1rmoles',\n          url:'\/camaras-de-lanzarote\/arrecife\/puerto\/'\n        },\n\n        {\n          name:'Aeropuerto de Lanzarote',\n          url:'\/camaras-de-lanzarote\/arrecife\/aeropuerto-de-lanzarote\/'\n        },\n\n        {\n          name:'Castillo de San Gabriel',\n          url:'\/camaras-de-lanzarote\/arrecife\/castillo-san-gabriel\/'\n        },\n\n        {\n          name:'Charco de San Gin\u00e9s',\n          url:'\/camaras-de-lanzarote\/arrecife\/charco-de-san-gines\/'\n        }\n\n      ]\n    },\n\n\n    {\n      n:'Har\u00eda',\n      url:'\/camaras-de-lanzarote\/haria\/',\n      cams:[]\n    },\n\n\n    {\n      n:'San Bartolom\u00e9',\n      url:'\/camaras-de-lanzarote\/san-bartolome\/',\n      cams:[\n\n        {\n          name:'Vista desde Monta\u00f1a Mina',\n          url:'\/camaras-de-lanzarote\/san-bartolome\/vista-desde-montana-mina\/'\n        }\n\n      ]\n    },\n\n\n    {\n      n:'Teguise',\n      url:'\/camaras-de-lanzarote\/teguise\/',\n      cams:[\n\n        {\n          name:'Playa Las Cucharas',\n          url:'\/camaras-de-lanzarote\/teguise\/playa-las-cucharas\/'\n        },\n\n        {\n          name:'La Graciosa - Caleta del Sebo',\n          url:'\/camaras-de-lanzarote\/teguise\/la-graciosa\/'\n        },\n\n        {\n          name:'La Graciosa - Puerto de Caleta del Sebo',\n          url:'\/camaras-de-lanzarote\/teguise\/caleta-del-sebo-puerto\/'\n        }\n\n      ]\n    },\n\n\n    {\n      n:'T\u00edas',\n      url:'\/camaras-de-lanzarote\/tias\/',\n      cams:[\n\n        {\n          name:'Playa Los Pocillos',\n          url:'\/camaras-de-lanzarote\/tias\/playa-de-los-pocillos\/'\n        },\n\n        {\n          name:'Playa Blanca',\n          url:'\/camaras-de-lanzarote\/tias\/playa-blanca-puerto-del-carmen\/'\n        },\n\n        {\n          name:'Playa Grande Norte',\n          url:'\/camaras-de-lanzarote\/tias\/playa-grande-norte\/'\n        }\n\n      ]\n    },\n\n\n    {\n      n:'Tinajo',\n      url:'\/camaras-de-lanzarote\/tinajo\/',\n      cams:[]\n    },\n\n\n    {\n      n:'Yaiza',\n      url:'\/camaras-de-lanzarote\/yaiza\/',\n      cams:[\n\n        {\n          name:'Playa Blanca',\n          url:'\/camaras-de-lanzarote\/yaiza\/playa-blanca\/'\n        }\n\n      ]\n    }\n\n  ];\n\n\n  \/* =========================================================\n     NORMALIZAR NOMBRES\n     ========================================================= *\/\n\n  function normalizeName(str){\n\n    return String(str || '')\n      .toLowerCase()\n      .normalize('NFD')\n      .replace(\/[\\u0300-\\u036f]\/g,'')\n      .replace(\/\\s+\/g,' ')\n      .trim();\n\n  }\n\n\n  \/* =========================================================\n     LISTA\n     ========================================================= *\/\n\n  var list =\n    document.getElementById(\n      'clMunListLZ'\n    );\n\n\n  var arrowSVG =\n    '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" ' +\n    'viewBox=\"0 0 24 24\" fill=\"none\" ' +\n    'stroke=\"currentColor\" stroke-width=\"2.5\" ' +\n    'stroke-linecap=\"round\" stroke-linejoin=\"round\">' +\n\n    '<polyline points=\"9 18 15 12 9 6\"><\/polyline>' +\n\n    '<\/svg>';\n\n\n  var camSVG =\n    '<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" ' +\n    'viewBox=\"0 0 24 24\" fill=\"none\" ' +\n    'stroke=\"currentColor\" stroke-width=\"2\" ' +\n    'stroke-linecap=\"round\" stroke-linejoin=\"round\">' +\n\n    '<path d=\"M15 10l4.553-2.276A1 1 0 0 1 21 8.618v6.764a1 1 0 0 1-1.447 .894L15 14v-4z\"><\/path>' +\n\n    '<rect x=\"2\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"><\/rect>' +\n\n    '<\/svg>';\n\n  \/* =========================================================\n     DAL REGISTRO WEBCAM (Herramientas \u2192 Registro webcam)\n     Le webcam di ogni comune vengono dal registro (snippet \"Comuni: webcam dal registro\").\n     L'elenco qui sopra resta come riserva e decide l'ordine delle webcam gi\u00e0 presenti;\n     le webcam nuove vanno in fondo al loro comune.\n     ========================================================= *\/\n  (function(){\n    var R = window.CL_MUNI;\n    if(!Array.isArray(R) || !R.length) return;\n    var col = {en:3, de:4, it:5}[lang];\n    var trovate = 0;\n    municipios.forEach(function(m){\n      m._reg = R.filter(function(r){ return r[0].indexOf(m.url) === 0; });\n      trovate += m._reg.length;\n    });\n    if(trovate !== R.length) return;   \/* una webcam senza comune: per sicurezza resta l'elenco fisso *\/\n    municipios.forEach(function(m){\n      var prima = m.cams.map(function(c){ return c.url; });\n      m.cams = m._reg.map(function(r){\n        if(col && r[col] && !clUrlMap[r[0]]) clUrlMap[r[0]] = r[col];\n        return { name:r[2], url:r[0] };\n      }).sort(function(a,b){\n        var ia = prima.indexOf(a.url), ib = prima.indexOf(b.url);\n        return (ia < 0 ? 999 : ia) - (ib < 0 ? 999 : ib);\n      });\n      delete m._reg;\n    });\n  })();\n\n\n  municipios.forEach(function(m){\n\n    var row =\n      document.createElement('div');\n\n\n    row.className =\n      'cl-mrow5' +\n      (\n        m.cams.length\n          ? ' cl-cam'\n          : ''\n      );\n\n\n    var top =\n      document.createElement('div');\n\n\n    top.className =\n      'cl-mrow5-top';\n\n\n    var link =\n      document.createElement('a');\n\n\n    link.className =\n      'cl-mrow5-link';\n\n\n    link.href =\n      clTr(m.url);\n\n\n    link.textContent =\n      m.n;\n\n\n    top.appendChild(link);\n\n\n    if(m.cams.length){\n\n      var btn =\n        document.createElement('button');\n\n\n      btn.type =\n        'button';\n\n\n      btn.className =\n        'cl-mrow5-expand';\n\n\n      btn.setAttribute(\n        'aria-label',\n        'Expand webcams'\n      );\n\n\n      btn.innerHTML =\n        '<span class=\"cl-mrow5-icon\">' +\n        arrowSVG +\n        '<\/span>';\n\n\n      btn.addEventListener(\n        'click',\n        function(e){\n\n          e.preventDefault();\n          e.stopPropagation();\n\n\n          var subs =\n            row.querySelector(\n              '.cl-msubs5'\n            );\n\n\n          var wasOpen =\n            subs.classList.contains(\n              'cl-open'\n            );\n\n\n          document\n            .querySelectorAll(\n              '#clMunListLZ .cl-msubs5.cl-open'\n            )\n            .forEach(function(x){\n\n              x.classList.remove(\n                'cl-open'\n              );\n\n            });\n\n\n          document\n            .querySelectorAll(\n              '#clMunListLZ .cl-mrow5-expand.cl-open'\n            )\n            .forEach(function(x){\n\n              x.classList.remove(\n                'cl-open'\n              );\n\n            });\n\n\n          if(!wasOpen){\n\n            subs.classList.add(\n              'cl-open'\n            );\n\n            btn.classList.add(\n              'cl-open'\n            );\n\n          }\n\n        }\n      );\n\n\n      top.appendChild(btn);\n\n    }\n\n\n    row.appendChild(top);\n\n\n    if(m.cams.length){\n\n      var subs =\n        document.createElement('div');\n\n\n      subs.className =\n        'cl-msubs5';\n\n\n      m.cams.forEach(function(c){\n\n        var a =\n          document.createElement('a');\n\n\n        a.className =\n          'cl-msub5';\n\n\n        a.href =\n          clTr(c.url);\n\n\n        a.innerHTML =\n          camSVG +\n          '<span>' +\n          c.name +\n          '<\/span>';\n\n\n        subs.appendChild(a);\n\n      });\n\n\n      row.appendChild(subs);\n\n    }\n\n\n    list.appendChild(row);\n\n  });\n\n\n  \/* =========================================================\n     ELEMENTI MAPPA\n     ========================================================= *\/\n\n  var btnList =\n    document.getElementById(\n      'clBtnListLZ'\n    );\n\n\n  var btnMap =\n    document.getElementById(\n      'clBtnMapLZ'\n    );\n\n\n  var panelList =\n    document.getElementById(\n      'clPanelListLZ'\n    );\n\n\n  var panelMap =\n    document.getElementById(\n      'clPanelMapLZ'\n    );\n\n\n  var map =\n    null;\n\n\n  var geojsonLayer =\n    null;\n\n\n  var info =\n    null;\n\n\n  var selectedLayer =\n    null;\n\n\n  var mapInitialized =\n    false;\n\n\n  \/* =========================================================\n     FIT ISOLA\n     ========================================================= *\/\n\n  function fitIsland(){\n\n    if(!map || !geojsonLayer)\n      return;\n\n\n    map.invalidateSize({\n\n      pan:false,\n      animate:false\n\n    });\n\n\n    var bounds =\n      geojsonLayer.getBounds();\n\n\n    if(!bounds.isValid())\n      return;\n\n\n    map.fitBounds(\n\n      bounds,\n\n      {\n\n        padding:[20,20],\n\n        animate:false\n\n      }\n\n    );\n\n  }\n\n\n  \/* =========================================================\n     COLORI\n     ========================================================= *\/\n\n  function getColor(c){\n\n    if(c >= 7)\n      return '#005B8F';\n\n\n    if(c >= 3)\n      return '#F4C542';\n\n\n    if(c >= 1)\n      return '#8EC7EE';\n\n\n    return '#f2f2f2';\n\n  }\n\n\n  \/* =========================================================\n     STILE MAPPA\n     ========================================================= *\/\n\n  function style(feature){\n\n    var c =\n      feature.properties.c || 0;\n\n\n    return {\n\n      fillColor:\n        getColor(c),\n\n      weight:1,\n\n      color:'#ccc',\n\n      fillOpacity:\n        c > 0\n          ? 1\n          : 0.08,\n\n      opacity:1\n\n    };\n\n  }\n\n\n  \/* =========================================================\n     HOVER\n     ========================================================= *\/\n\n  function highlightFeature(e){\n\n    var layer =\n      e.target;\n\n\n    layer.setStyle({\n\n      weight:2.5,\n\n      color:'#2571B0',\n\n      fillOpacity:\n        layer.feature.properties.c > 0\n          ? 1\n          : 0.35,\n\n      opacity:1\n\n    });\n\n\n    layer.bringToFront();\n\n\n    if(info){\n\n      info.update(\n        layer.feature.properties\n      );\n\n    }\n\n  }\n\n\n  \/* =========================================================\n     RESET HOVER\n     ========================================================= *\/\n\n  function resetHighlight(e){\n\n    if(geojsonLayer){\n\n      geojsonLayer.resetStyle(\n        e.target\n      );\n\n    }\n\n\n    if(info){\n\n      info.update();\n\n    }\n\n  }\n\n\n  \/* =========================================================\n     CLICK MAPPA\n     ========================================================= *\/\n\n  function onClick(e){\n\n    var layer =\n      e.target;\n\n\n    \/* =======================================================\n       DESKTOP\n       ======================================================= *\/\n\n    if(window.innerWidth >= 768){\n\n      if(\n        layer.feature.properties.url &&\n        layer.feature.properties.url !== '#'\n      ){\n\n        window.location.href =\n          clTr(layer.feature.properties.url);\n\n      }\n\n      return;\n\n    }\n\n\n    \/* =======================================================\n       MOBILE\n       Primo tocco = selezione\n       Secondo tocco = apertura\n       ======================================================= *\/\n\n    if(selectedLayer === layer){\n\n      if(\n        layer.feature.properties.url &&\n        layer.feature.properties.url !== '#'\n      ){\n\n        window.location.href =\n          clTr(layer.feature.properties.url);\n\n      }\n\n      return;\n\n    }\n\n\n    if(selectedLayer){\n\n      geojsonLayer.resetStyle(\n        selectedLayer\n      );\n\n    }\n\n\n    selectedLayer =\n      layer;\n\n\n    layer.setStyle({\n\n      weight:2.5,\n\n      color:'#2571B0',\n\n      fillOpacity:\n        layer.feature.properties.c > 0\n          ? 1\n          : 0.35,\n\n      opacity:1\n\n    });\n\n\n    layer.bringToFront();\n\n\n    if(info){\n\n      info.update(\n        layer.feature.properties\n      );\n\n    }\n\n  }\n\n\n  \/* =========================================================\n     FEATURE\n     ========================================================= *\/\n\n  function onEachFeature(\n    feature,\n    layer\n  ){\n\n    layer.on({\n\n      mouseover:\n        highlightFeature,\n\n      mouseout:\n        resetHighlight,\n\n      click:\n        onClick\n\n    });\n\n  }\n\n\n  \/* =========================================================\n     INIT MAPPA\n     ========================================================= *\/\n\n  \/* =========================================================\n   CARGA BAJO DEMANDA: Leaflet + l\u00edmites municipales\n   ========================================================= *\/\n\nvar CL_LEAFLET_CSS = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.css';\nvar CL_LEAFLET_JS  = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.js';\nvar CL_GEO_JS      = '\/wp-content\/uploads\/cl-geo\/lanzarote.js?v=1';\n\nvar loadingLabel = {es:'Cargando mapa\u2026',en:'Loading map\u2026',it:'Caricamento mappa\u2026',de:'Karte wird geladen\u2026'};\nvar errorLabel   = {es:'No se ha podido cargar el mapa.',en:'The map could not be loaded.',it:'Impossibile caricare la mappa.',de:'Die Karte konnte nicht geladen werden.'};\nvar camLabel     = {es:'webcams',en:'webcams',it:'webcam',de:'Webcams'};\n\nfunction clLoadScript(src){\n  return new Promise(function(resolve, reject){\n    var s = document.createElement('script');\n    s.src = src; s.async = true;\n    s.onload = resolve; s.onerror = reject;\n    document.head.appendChild(s);\n  });\n}\n\nfunction clLoadCSS(href){\n  if(document.querySelector('link[href=\"' + href + '\"]')) return;\n  var l = document.createElement('link');\n  l.rel = 'stylesheet'; l.href = href;\n  document.head.appendChild(l);\n}\n\nvar clAssetsPromise = null;\n\nfunction clLoadMapAssets(){\n  if(clAssetsPromise) return clAssetsPromise;\n  clLoadCSS(CL_LEAFLET_CSS);\n  var leaflet = window.L ? Promise.resolve() : clLoadScript(CL_LEAFLET_JS);\n  var geo = window.clLZGeo ? Promise.resolve() : clLoadScript(CL_GEO_JS);\n  clAssetsPromise = Promise.all([leaflet, geo]);\n  return clAssetsPromise;\n}\n\nfunction clShowMapMessage(txt){\n  document.getElementById('clMapLZ').innerHTML =\n    '<div class=\"cl-map-loading\">' + txt + '<\/div>';\n}\n\n\n  function initMap(){\n\n    if(map)\n      return;\n\n\n    map =\n      L.map(\n        'clMapLZ',\n        {\n          zoomControl:false,\n          attributionControl:false,\n          scrollWheelZoom:false,\n          dragging:false,\n          doubleClickZoom:false,\n          touchZoom:false,\n          zoomSnap:0.1,\n          zoomDelta:0.5\n        }\n      );\n\n\n    map.setView(\n      [29.02,-13.63],\n      9\n    );\n\n\n    \/* =======================================================\n       INFO\n       ======================================================= *\/\n\n    info =\n      L.control({\n        position:'bottomright'\n      });\n\n\n    info.onAdd =\n      function(){\n\n        this._div =\n          L.DomUtil.create(\n            'div',\n            'cl-map-info5'\n          );\n\n        this.update();\n\n        return this._div;\n\n      };\n\n\n    info.update =\n      function(props){\n\n        if(props){\n\n          var html =\n            '<b>' +\n            props.name +\n            '<\/b>';\n\n\n          if(props.c > 0){\n\n            html +=\n              '<span class=\"cl-badge\">' +\n              props.c +\n              ' ' +\n              camLabels[lang] +\n              '<\/span>';\n\n          }\n\n\n          if(window.innerWidth < 768){\n\n            html +=\n              '<br>' +\n              '<span style=\"color:#aaa;font-size:11px\">' +\n              i18n.tapAgain[lang] +\n              '<\/span>';\n\n          }\n\n\n          this._div.innerHTML = html;\n\n        }\n        else{\n\n          this._div.innerHTML =\n            '<span style=\"color:#aaa\">' +\n            (\n              window.innerWidth < 768\n                ? i18n.tapMun[lang]\n                : i18n.hoverMun[lang]\n            ) +\n            '<\/span>';\n\n        }\n\n      };\n\n\n    info.addTo(map);\n\n\n    \/* =======================================================\n       GEOJSON\n       ======================================================= *\/\n\n    Promise.resolve(window.clLZGeo)\n\n      .then(function(data){\n\n        \/* ===================================================\n           SOLO LANZAROTE\n\n           Il dataset ufficiale usa GCD_ISLA \/ gcd_isla.\n           Come ulteriore sicurezza controlliamo anche il nome.\n           =================================================== *\/\n\n        var lanzaroteNames = {\n          'arrecife':true,\n          'haria':true,\n          'san bartolome':true,\n          'teguise':true,\n          'tias':true,\n          'tinajo':true,\n          'yaiza':true,\n          'yaisa':true\n        };\n\n\n        data.features =\n          data.features.filter(function(feature){\n\n            var p = feature.properties || {};\n\n            var isla =\n              String(\n                p.GCD_ISLA ||\n                p.gcd_isla ||\n                p.ISLA ||\n                p.isla ||\n                ''\n              ).trim();\n\n\n            var name =\n              p.ETIQUETA ||\n              p.etiqueta ||\n              p.name ||\n              p.NOMBRE_MUN ||\n              p.NOMBRE ||\n              p.nombre ||\n              '';\n\n\n            var normalized =\n              normalizeName(name);\n\n\n            return (\n              isla === 'ES708' ||\n              lanzaroteNames[normalized] === true\n            );\n\n          });\n\n\n        if(!data.features.length){\n\n          throw new Error(\n            'Nessun municipio di Lanzarote trovato nel GeoJSON'\n          );\n\n        }\n\n\n        \/* ===================================================\n           ASSOCIA WEBCAM AI MUNICIPI\n           =================================================== *\/\n\n        data.features.forEach(function(feature){\n\n          var props =\n            feature.properties || {};\n\n\n          var name =\n            props.ETIQUETA ||\n            props.etiqueta ||\n            props.name ||\n            props.NOMBRE_MUN ||\n            props.NOMBRE ||\n            props.nombre ||\n            '';\n\n\n          var normalized =\n            normalizeName(name);\n\n\n          var m =\n            municipios.find(function(item){\n\n              return (\n                normalizeName(item.n) ===\n                normalized\n              );\n\n            });\n\n\n          \/* Alcune fonti possono restituire piccole differenze\n             nel nome del municipio. *\/\n          if(!m){\n\n            m =\n              municipios.find(function(item){\n\n                var a =\n                  normalizeName(item.n);\n\n                var b =\n                  normalizeName(name);\n\n                return (\n                  a.indexOf(b) !== -1 ||\n                  b.indexOf(a) !== -1\n                );\n\n              });\n\n          }\n\n\n          if(m){\n\n            props.name = m.n;\n            props.url = m.url;\n            props.c = m.cams.length;\n\n          }\n          else{\n\n            props.name = name || 'Municipio';\n            props.url = '#';\n            props.c = 0;\n\n          }\n\n        });\n\n\n        \/* ===================================================\n           CREA MAPPA\n           =================================================== *\/\n\n        geojsonLayer =\n          L.geoJSON(\n            data,\n            {\n              style:style,\n              onEachFeature:onEachFeature\n            }\n          ).addTo(map);\n\n\n        requestAnimationFrame(function(){\n          fitIsland();\n        });\n\n      })\n\n      .catch(function(error){\n\n        console.error(\n          'Lanzarote GeoJSON:',\n          error\n        );\n\n\n        document.getElementById('clMapLZ').innerHTML =\n          '<div style=\"padding:30px;text-align:center;color:#777;\">' +\n          errorLabel[lang] +\n          '<\/div>';\n\n      });\n\n  }\n\n\n  \/* =========================================================\n     TOGGLE\n     ========================================================= *\/\n\n  function toggle(which){\n\n\n    \/* =======================================================\n       LISTA\n       ======================================================= *\/\n\n    if(which === 'list'){\n\n      var opening =\n\n        !panelList.classList.contains(\n          'cl-open'\n        );\n\n\n      panelList.classList.toggle(\n        'cl-open'\n      );\n\n\n      btnList.classList.toggle(\n        'cl-active'\n      );\n\n\n      if(opening){\n\n        panelMap.classList.remove(\n          'cl-open'\n        );\n\n\n        btnMap.classList.remove(\n          'cl-active'\n        );\n\n      }\n\n\n      return;\n\n    }\n\n\n    \/* =======================================================\n       MAPPA\n       ======================================================= *\/\n\n    if(which === 'map'){\n\n      var opening =\n\n        !panelMap.classList.contains(\n          'cl-open'\n        );\n\n\n      panelMap.classList.toggle(\n        'cl-open'\n      );\n\n\n      btnMap.classList.toggle(\n        'cl-active'\n      );\n\n\n      if(opening){\n\n        panelList.classList.remove(\n          'cl-open'\n        );\n\n\n        btnList.classList.remove(\n          'cl-active'\n        );\n\n\n        if(!mapInitialized){\n\n        mapInitialized =\n          true;\n\n        if(!window.L || !window.clLZGeo){\n          clShowMapMessage(loadingLabel[lang]);\n        }\n\n        clLoadMapAssets()\n          .then(function(){\n            document.getElementById('clMapLZ').innerHTML = '';\n            initMap();\n          })\n          .catch(function(){\n            mapInitialized = false;\n            clAssetsPromise = null;\n            clShowMapMessage(errorLabel[lang]);\n          });\n\n      }\n\n        else{\n\n          requestAnimationFrame(function(){ fitIsland(); });\n\n        }\n\n      }\n\n    }\n\n  }\n\n\n  \/* =========================================================\n     EVENTI PULSANTI\n     ========================================================= *\/\n\n  btnList.addEventListener(\n\n    'click',\n\n    function(e){\n\n      e.preventDefault();\n\n      e.stopPropagation();\n\n      toggle('list');\n\n    }\n\n  );\n\n\n  \/* Precarga discreta cuando el usuario se acerca al bot\u00f3n del mapa *\/\nbtnMap.addEventListener('mouseenter', clLoadMapAssets, {once:true});\nbtnMap.addEventListener('touchstart', clLoadMapAssets, {once:true, passive:true});\n\n\nbtnMap.addEventListener(\n\n    'click',\n\n    function(e){\n\n      e.preventDefault();\n\n      e.stopPropagation();\n\n      toggle('map');\n\n    }\n\n  );\n\n})();\n\n<\/script>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-fd882cbc alignfull uagb-is-root-container\">\n<div id=\"webcamislas\"><\/div>\n\n<script>\n(function(){\n  var tries = 0;\n  function run(){\n    if (typeof islasdata === 'function' && typeof cercanasLZ !== 'undefined') {\n      islasdata(cercanasLZ);\n      return;\n    }\n    if (++tries < 100) setTimeout(run, 100);\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', run);\n  } else {\n    run();\n  }\n})();\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-48e7e7e3 default uagb-is-root-container\">\n<p class=\"wp-block-paragraph\">Lanzarote es volc\u00e1nica, luminosa y con viento propio. Las condiciones cambian seg\u00fan la zona y la hora del d\u00eda, as\u00ed que consultar las c\u00e1maras antes de salir marca la diferencia. En CanariasLife puedes ver en directo c\u00f3mo est\u00e1n el clima, el viento, el estado del mar y la visibilidad en zonas como Arrecife, Costa Teguise, Puerto del Carmen o Playa Blanca.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si buscas la playa con menos viento, quieres saber si hay calima o simplemente ver c\u00f3mo est\u00e1 el d\u00eda en la isla, las c\u00e1maras te dan la respuesta en un vistazo.<\/p>\n\n\n\n<h2 id=\"h-que-puedes-ver-en-las-camaras-de-lanzarote\" class=\"wp-block-heading\">\u00bfQu\u00e9 puedes ver en las c\u00e1maras de Lanzarote?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/\">Arrecife<\/a> \u2014 Capital de la isla: puerto, Charco de San Gin\u00e9s y condiciones generales en la zona centro.<\/li>\n\n\n\n<li><a href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/teguise\/playa-las-cucharas\/\">Costa Teguise<\/a> \u2014 Playa y viento en una de las zonas tur\u00edsticas m\u00e1s populares. \u00datil para saber si es d\u00eda de playa tranquila o de windsurf.<\/li>\n\n\n\n<li><a href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/tias\/\">Puerto del Carmen<\/a> \u2014 Ambiente tur\u00edstico, estado del mar y visibilidad en la costa sur, normalmente m\u00e1s resguardada del viento.<\/li>\n\n\n\n<li><a href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/yaiza\/playa-blanca\/\">Playa Blanca (Yaiza)<\/a> \u2014 Condiciones en el sur de la isla, cerca de las playas de Papagayo.<\/li>\n\n\n\n<li><a href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/arrecife\/aeropuerto-de-lanzarote\/\">Aeropuerto de Lanzarote<\/a> \u2014 Visibilidad general y condiciones meteorol\u00f3gicas. Pr\u00e1ctico para ver si hay calima o si el d\u00eda est\u00e1 despejado.<\/li>\n\n\n\n<li><a href=\"https:\/\/canariaslife.com\/camaras-de-lanzarote\/san-bartolome\/\">San Bartolom\u00e9<\/a> \u2014 Panor\u00e1mica entre tierra, cielo y mar desde el centro de la isla.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"h-viento-y-clima-en-lanzarote\" class=\"wp-block-heading\">Viento y clima en Lanzarote<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El viento es parte del car\u00e1cter de Lanzarote. Algunos d\u00edas sopla fuerte en toda la isla; otros, basta con elegir la costa correcta para encontrar calma. Las c\u00e1maras te permiten ver en tiempo real la intensidad del viento en cada zona y decidir si es d\u00eda de playa en Papagayo, surf en Famara o visita a Timanfaya sin que la arena vuele.<\/p>\n\n\n\n<h2 id=\"h-estado-del-mar-y-playas-de-lanzarote-hoy\" class=\"wp-block-heading\">Estado del mar y playas de Lanzarote hoy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lanzarote tiene playas para todos los gustos: desde las calas resguardadas de Papagayo hasta el oleaje de Famara. Con las c\u00e1maras puedes comprobar el estado del mar, la marea y la claridad del agua antes de ir, y elegir la playa con mejores condiciones sin dar rodeos.<\/p>\n\n\n\n<h2 id=\"h-preguntas-frecuentes-sobre-lanzarote\" class=\"wp-block-heading\">Preguntas frecuentes sobre Lanzarote<\/h2>\n\n\n\n<h3 id=\"h-donde-ver-webcams-en-lanzarote-en-directo\" class=\"wp-block-heading\"><em>\u00bfD\u00f3nde ver webcams en Lanzarote en directo?<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En CanariasLife puedes ver c\u00e1maras en Arrecife, Costa Teguise, Puerto del Carmen, Playa Blanca, San Bartolom\u00e9 y el aeropuerto, con vista al mar y a las zonas m\u00e1s visitadas de la isla.<\/p>\n\n\n\n<h3 id=\"h-como-saber-el-tiempo-en-lanzarote-en-tiempo-real\" class=\"wp-block-heading\"><em>\u00bfC\u00f3mo saber el tiempo en Lanzarote en tiempo real?<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las c\u00e1maras te muestran el estado real del cielo, el mar y el viento en cada zona, minuto a minuto. M\u00e1s \u00fatil que cualquier previsi\u00f3n cuando quieres saber qu\u00e9 pasa ahora mismo.<\/p>\n\n\n\n<h3 id=\"h-hace-mucho-viento-en-lanzarote\" class=\"wp-block-heading\"><em>\u00bfHace mucho viento en Lanzarote?<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Es habitual, sobre todo en verano, pero var\u00eda mucho seg\u00fan la zona. La costa sur (Puerto del Carmen, Papagayo) suele estar m\u00e1s protegida que la norte (Famara, \u00d3rzola). Las c\u00e1maras te ayudan a elegir el mejor lugar cada d\u00eda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u00bfCu\u00e1les son las mejores playas de Lanzarote?<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Las playas de Papagayo destacan por sus aguas cristalinas y su abrigo del viento. Famara es la referencia para surf. Puerto del Carmen ofrece playas amplias con buen acceso. Con las c\u00e1maras puedes ver las condiciones de cada zona antes de elegir.<\/p>\n\n\n\n<h3 id=\"h-se-puede-hacer-surf-en-lanzarote\" class=\"wp-block-heading\"><em>\u00bfSe puede hacer surf en Lanzarote?<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed, Famara es uno de los spots m\u00e1s conocidos de Canarias, con olas consistentes durante gran parte del a\u00f1o. Las c\u00e1maras te permiten comprobar el oleaje en directo antes de coger la tabla.<\/p>\n\n\n\n<h3 id=\"h-que-ver-en-lanzarote-ademas-de-las-playas\" class=\"wp-block-heading\"><em>\u00bfQu\u00e9 ver en Lanzarote adem\u00e1s de las playas?<\/em><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lanzarote es Reserva de la Biosfera con paisajes volc\u00e1nicos \u00fanicos: Timanfaya, los Jameos del Agua o la Cueva de los Verdes. Las c\u00e1maras te ayudan a comprobar la visibilidad y el clima antes de planificar una excursi\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Explora las c\u00e1maras y elige tu mejor plan en Lanzarote.<\/strong><\/p>\n<\/div>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Webcams en Lanzarote en directo Volcanes y playas en directo: mar, viento y clima en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":162742,"parent":0,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[5500],"tags":[1568,5238,1191,281,5239,884,446,125,5243,5245,679,283,217,680,467,5242,5240,1155,837,676,5241,5244,1563,867,880,1234,1239,966,1235],"folder":[4],"class_list":["post-82","page","type-page","status-publish","has-post-thumbnail","hentry","category-islas","tag-aeropuerto-de-lanzarote","tag-amaneceres-en-lanzarote","tag-antigua","tag-arrecife","tag-atardeceres-en-lanzarote","tag-bodegas-de-lanzarote","tag-camaras-en-directo","tag-cesar-manrique","tag-charco-de-los-clicos","tag-costa-teguise","tag-cueva-de-los-verdes","tag-famara","tag-jameos-del-agua","tag-la-geria","tag-mar-atlantico-en-directo","tag-mirador-del-rio","tag-montanas-del-fuego","tag-naturaleza-de-lanzarote","tag-paisaje-volcanico","tag-parque-nacional-de-timanfaya","tag-piscinas-naturales-de-janubio","tag-playa-blanca","tag-playa-de-los-cancajos","tag-puerto-de-arrecife","tag-puerto-del-carmen","tag-tinajo","tag-volcanes-de-lanzarote","tag-webcams-en-lanzarote","tag-yaiza"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.7 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Webcam lanzarote: descubre el para\u00edso en directo<\/title>\n<meta name=\"description\" content=\"Descubre la magia de Lanzarote con webcam lanzarote desde la comodidad de tu hogar. Playa de Papagayo y m\u00e1s te esperan desde el sof\u00e1.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/canariaslife.com\/de\/lanzarote-live-kameras\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Webcam lanzarote: descubre el para\u00edso en directo\" \/>\n<meta property=\"og:description\" content=\"Descubre la magia de Lanzarote con webcam lanzarote desde la comodidad de tu hogar. Playa de Papagayo y m\u00e1s te esperan desde el sof\u00e1.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/canariaslife.com\/de\/lanzarote-live-kameras\/\" \/>\n<meta property=\"og:site_name\" content=\"CanariasLife webcams\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CanariasLifeW\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-22T10:05:49+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"849\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@CanariasLifeW\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/\",\"url\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/\",\"name\":\"Webcam lanzarote: descubre el para\u00edso en directo\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/canariaslife.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/canariaslife.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Lanzarote.webp\",\"datePublished\":\"2024-12-20T17:16:59+00:00\",\"dateModified\":\"2026-10-22T10:05:49+00:00\",\"description\":\"Descubre la magia de Lanzarote con webcam lanzarote desde la comodidad de tu hogar. Playa de Papagayo y m\u00e1s te esperan desde el sof\u00e1.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/#primaryimage\",\"url\":\"https:\\\/\\\/canariaslife.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Lanzarote.webp\",\"contentUrl\":\"https:\\\/\\\/canariaslife.com\\\/wp-content\\\/uploads\\\/2025\\\/12\\\/Lanzarote.webp\",\"width\":1280,\"height\":849},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/canariaslife.com\\\/camaras-de-lanzarote\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"inicio\",\"item\":\"https:\\\/\\\/canariaslife.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Lanzarote\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/canariaslife.com\\\/#website\",\"url\":\"https:\\\/\\\/canariaslife.com\\\/\",\"name\":\"https:\\\/\\\/canariaslife.com\",\"description\":\"CanariasLife c\u00e1maras web en vivo de las Islas Canarias\",\"publisher\":{\"@id\":\"https:\\\/\\\/canariaslife.com\\\/#organization\"},\"alternateName\":\"webcams en vivo de Canarias\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/canariaslife.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/canariaslife.com\\\/#organization\",\"name\":\"CanariasLife webcams\",\"url\":\"https:\\\/\\\/canariaslife.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/canariaslife.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/canariaslife.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-Favicon.jpg\",\"contentUrl\":\"https:\\\/\\\/canariaslife.com\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-Favicon.jpg\",\"width\":512,\"height\":512,\"caption\":\"CanariasLife webcams\"},\"image\":{\"@id\":\"https:\\\/\\\/canariaslife.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/CanariasLifeW\",\"https:\\\/\\\/x.com\\\/CanariasLifeW\",\"https:\\\/\\\/www.instagram.com\\\/canariaslifewebcams\\\/\",\"https:\\\/\\\/www.youtube.com\\\/CanariasLifeWebcams\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/canariaslife-webcams\\\/\"],\"description\":\"CanariasLife ofrece transmisiones en vivo a trav\u00e9s de webcams de las Islas Canarias, mostrando paisajes, playas y puntos de inter\u00e9s en tiempo real para turistas y amantes de las islas.\",\"legalName\":\"CanariasLife webcams\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"1\",\"maxValue\":\"10\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Webcams Lanzarote live | Str\u00e4nde &amp; Wetter jetzt","description":"Live-Webcams auf ganz Lanzarote: Str\u00e4nde, Arrecife, Puerto del Carmen, Playa Blanca und das aktuelle Wetter \u2013 von \u00fcberall aus.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/canariaslife.com\/de\/lanzarote-live-kameras\/","og_locale":"de_DE","og_type":"article","og_title":"Webcam lanzarote: descubre el para\u00edso en directo","og_description":"Descubre la magia de Lanzarote con webcam lanzarote desde la comodidad de tu hogar. Playa de Papagayo y m\u00e1s te esperan desde el sof\u00e1.","og_url":"https:\/\/canariaslife.com\/de\/lanzarote-live-kameras\/","og_site_name":"CanariasLife webcams","article_publisher":"https:\/\/www.facebook.com\/CanariasLifeW","article_modified_time":"2026-10-22T10:05:49+00:00","og_image":[{"width":1280,"height":849,"url":"https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_site":"@CanariasLifeW","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/","url":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/","name":"Webcams Lanzarote live | Str\u00e4nde &amp; Wetter jetzt","isPartOf":{"@id":"https:\/\/canariaslife.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/#primaryimage"},"image":{"@id":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/#primaryimage"},"thumbnailUrl":"https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp","datePublished":"2024-12-20T17:16:59+00:00","dateModified":"2026-10-22T10:05:49+00:00","description":"Live-Webcams auf ganz Lanzarote: Str\u00e4nde, Arrecife, Puerto del Carmen, Playa Blanca und das aktuelle Wetter \u2013 von \u00fcberall aus.","breadcrumb":{"@id":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/canariaslife.com\/camaras-de-lanzarote\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/#primaryimage","url":"https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp","contentUrl":"https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp","width":1280,"height":849},{"@type":"BreadcrumbList","@id":"https:\/\/canariaslife.com\/camaras-de-lanzarote\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"inicio","item":"https:\/\/canariaslife.com\/"},{"@type":"ListItem","position":2,"name":"Lanzarote"}]},{"@type":"WebSite","@id":"https:\/\/canariaslife.com\/#website","url":"https:\/\/canariaslife.com\/","name":"https:\/\/canariaslife.com","description":"CanariasLife Live-Streaming-Webcams der Kanarischen Inseln","publisher":{"@id":"https:\/\/canariaslife.com\/#organization"},"alternateName":"webcams en vivo de Canarias","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/canariaslife.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/canariaslife.com\/#organization","name":"CanariasLife webcams","url":"https:\/\/canariaslife.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/canariaslife.com\/#\/schema\/logo\/image\/","url":"https:\/\/canariaslife.com\/wp-content\/uploads\/2024\/12\/cropped-Favicon.jpg","contentUrl":"https:\/\/canariaslife.com\/wp-content\/uploads\/2024\/12\/cropped-Favicon.jpg","width":512,"height":512,"caption":"CanariasLife webcams"},"image":{"@id":"https:\/\/canariaslife.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CanariasLifeW","https:\/\/x.com\/CanariasLifeW","https:\/\/www.instagram.com\/canariaslifewebcams\/","https:\/\/www.youtube.com\/CanariasLifeWebcams","https:\/\/www.linkedin.com\/in\/canariaslife-webcams\/"],"description":"CanariasLife bietet Live-\u00dcbertragungen \u00fcber Webcams der Kanarischen Inseln an, die Landschaften, Str\u00e4nde und Sehensw\u00fcrdigkeiten in Echtzeit f\u00fcr Touristen und Insel-Liebhaber zeigen.","legalName":"CanariasLife webcams","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"1","maxValue":"10"}}]}},"uagb_featured_image_src":{"full":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp",1280,849,false],"thumbnail":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote-150x150.webp",150,150,true],"medium":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote-300x199.webp",300,199,true],"medium_large":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote-768x509.webp",768,509,true],"large":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote-1024x679.webp",1024,679,true],"1536x1536":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp",1280,849,false],"2048x2048":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp",1280,849,false],"trp-custom-language-flag":["https:\/\/canariaslife.com\/wp-content\/uploads\/2025\/12\/Lanzarote.webp",18,12,false]},"uagb_author_info":{"display_name":"Paolo","author_link":"https:\/\/canariaslife.com\/de\/author\/paolo-agostinianigmail-com\/"},"uagb_comment_info":0,"uagb_excerpt":"Webcams en Lanzarote en directo Volcanes y playas en directo: mar, viento y clima en [&hellip;]","_links":{"self":[{"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/pages\/82","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":41,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/pages\/82\/revisions"}],"predecessor-version":[{"id":175001,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/pages\/82\/revisions\/175001"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/media\/162742"}],"wp:attachment":[{"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/tags?post=82"},{"taxonomy":"folder","embeddable":true,"href":"https:\/\/canariaslife.com\/de\/wp-json\/wp\/v2\/folder?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}