{"id":76,"date":"2025-11-16T16:38:47","date_gmt":"2025-11-16T16:38:47","guid":{"rendered":"https:\/\/zonapip.comune.acquaviva.ba.it\/?page_id=76"},"modified":"2026-10-03T13:01:37","modified_gmt":"2026-10-03T13:01:37","slug":"aziende","status":"publish","type":"page","link":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/aziende\/","title":{"rendered":"Companies"},"content":{"rendered":"\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left alignfull has-x-large-font-size\" style=\"padding-bottom:0\">Mappa digitale della Zona industriale<\/h2>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\" style=\"margin-bottom:0;line-height:1.6\">Tutte le aziende ed i dati riportati nella mappa sono stati ottenuti tramite un <strong>questionario di raccolta dati<\/strong> e successivamente digitalizzati per permetterne una pi\u00f9 facile fruizione, analisi ed elaborazione. Ottenendo in tal modo un quadro esaustivo, realistico e trasparente della Zona Industriale.<\/h2>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\" style=\"margin-bottom:0;line-height:1.6\">Potrai scoprire tutte le aziende esplorando la <strong>mappa digitale<\/strong> e cliccando su ognuna, potrai ottenere informazioni in merito alla tipologia di attivit\u00e0 e avviare le indicazioni stradali dall&#8217;apposito pulsante.<\/h2>\n\n\n\n<h2 class=\"wp-block-heading has-large-font-size\" style=\"margin-bottom:var(--wp--preset--spacing--50);line-height:1.6\">Sotto la mappa potrai visualizzare e consularare l&#8217;<strong>elenco completo<\/strong> di tutte le aziende. Potrai anche ricercare un&#8217;azienda o una tipoligia di attivit\u00e0 direttamente dallla <strong>casella di ricerca<\/strong> dedicata, e trovarla direttamente nella mappa dall&#8217;apposito pulsante.<\/h2>\n\n\n<!-- 1. CSS Leaflet + FontAwesome -->\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\">\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\n\n<style>\n  #mappa-interattiva {\n    width: 100%;\n    height: 580px !important;\n    border-radius: 12px;\n    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);\n    position: relative;\n    z-index: 1;\n  }\n  #mappa-interattiva img.leaflet-tile {\n    max-width: none !important;\n    max-height: none !important;\n  }\n  .google-pin-container {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    position: relative;\n  }\n  .google-pin-svg {\n    filter: drop-shadow(0px 3px 4px rgba(0,0,0,0.3));\n  }\n  .google-pin-icon {\n    position: absolute;\n    top: 7px;\n    color: #ffffff;\n    font-size: 0.69rem;\n  }\n  .custom-company-logo-marker {\n    border-radius: 50%;\n    border: 2px solid #ffffff;\n    box-shadow: 0 3px 8px rgba(0,0,0,0.4);\n    background-color: #ffffff;\n    object-fit: cover;\n  }\n  .custom-kml-popup {\n    max-width: 280px;\n    font-family: system-ui, -apple-system, sans-serif;\n    padding: 2px;\n  }\n  .popup-header {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    border-bottom: 2px solid #eee;\n    padding-bottom: 6px;\n    margin-bottom: 8px;\n  }\n  .popup-header h3 {\n    margin: 0;\n    font-size: 0.94rem;\n    font-weight: 700;\n    color: #1a1a1a;\n  }\n  .popup-logo {\n    width: 32px;\n    height: 32px;\n    border-radius: 50%;\n    object-fit: cover;\n    border: 1px solid #ddd;\n    flex-shrink: 0;\n  }\n  .custom-kml-popup .popup-desc {\n    font-size: 0.81rem;\n    color: #444;\n    line-height: 1.45;\n    margin-bottom: 12px;\n  }\n  .btn-navigatore {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    width: 100%;\n    background-color: #1a73e8;\n    color: #ffffff !important;\n    text-decoration: none !important;\n    font-size: 0.81rem;\n    font-weight: 600;\n    padding: 8px 12px;\n    border-radius: 6px;\n    box-sizing: border-box;\n    box-shadow: 0 2px 4px rgba(0,0,0,0.15);\n    transition: background-color 0.2s ease;\n  }\n  .btn-navigatore:hover {\n    background-color: #1557b0;\n  }\n<\/style>\n\n<div id=\"mappa-interattiva\"><\/div>\n\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n\n<script>\n  window.listaMarkerMappa = [];\n\n  \/\/ SEDI OPERATIVE COMPLETI\n  window.sediAziende = {\n    \"2I RETE GAS\": \"Via Puglia 3 - Via Sardegna 4 - Acquaviva delle Fonti\",\n    \"AUTO ABRUSCI\": \"Via per Sammichele Z.I. - Acquaviva delle Fonti\",\n    \"AUTOSUD\": \"Via Basilicata, n.34 Z.I. - Acquaviva delle Fonti\",\n    \"BENOTTO\": \"Via Puglia 3 - Acquaviva delle fonti\",\n    \"BRUNO\": \"Via Abruzzo ZI - Acquaviva delle fonti\",\n    \"CICCARONE\": \"Via Sardegna ZI - Acquaviva delle fonti\",\n    \"COMBIVOX\": \"Via Vito Giorgio ZI - Acquaviva delle fonti\",\n    \"CURTOMARTINO\": \"Via Basilicata Z.I. - Acquaviva delle Fonti (BA)\",\n    \"D&L\": \"Via Marche ZI - Acquaviva delle fonti\",\n    \"DIMARTINO\": \"Via Vito Giorgio ZI - Acquaviva delle fonti\",\n    \"EA COMMERCE\": \"Via Sardegna ZI - Acquaviva delle fonti\",\n    \"EK IMPIANTI\": \"Via Sardegna ZI - Acquaviva delle fonti\",\n    \"FINLOGIC\": \"Via Calabria Z.I. - Acquaviva delle Fonti\",\n    \"FRIGOSUD\": \"Via Basilicata ZI - Acquaviva delle Fonti\",\n    \"GRAFICHE FEDELE\": \"Via Abruzzo ZI - Acquaviva delle fonti\",\n    \"G.SCAVI\": \"Via Vito Giorgio ZI - Acquaviva delle fonti\",\n    \"IDRA ITALIA\": \"Via per Sammichele Z.I. - Acquaviva delle Fonti\",\n    \"IFAC\": \"Via Achille Tamburrino Z.I. - Acquaviva delle Fonti\",\n    \"I.T.I. PRO\": \"Via Lazio Z.I. - Acquaviva delle Fonti\",\n    \"KASUCCI\": \"Via Marche ZI - Acquaviva delle fonti\",\n    \"LA FONTE\": \"Via Sardegna, n.70 Z.I. - Acquaviva delle Fonti\",\n    \"LENOCI INNOVATION\": \"Via Basilicata ZI - Acquaviva delle Fonti\",\n    \"LENOCI MARCO ANTONIO\": \"Zona Industriale - Acquaviva delle Fonti\",\n    \"LIBORIO FRUTTA\": \"Via Basilicata ZI - Acquaviva delle Fonti\",\n    \"EDIL RECUPERI\": \"Via Calabria Z.I. - Acquaviva delle Fonti\",\n    \"MAIS\": \"Via Campania Z.I. - Acquaviva delle Fonti\",\n    \"MASTROROCCO SERRAMENTI\": \"Via Campagnia Z.I. - Acquaviva delle Fonti\",\n    \"AUTOLINEE MASTROROCCO\": \"Via Molise Z.I. - Acquaviva delle Fonti\",\n    \"MELE\": \"Via Campania Z.I. - Acquaviva delle Fonti\",\n    \"MIGLIONICO\": \"Via Molise ZI - Acquaviva delle fonti\",\n    \"MV LINE\": \"Via Umbria Z.I. - Acquaviva delle Fonti\",\n    \"NATURA VIVA\": \"Via Molise ZI - Acquaviva delle fonti\",\n    \"NOVARTE\": \"Via Sicilia Z.I. - Acquaviva delle Fonti\",\n    \"ORTI PUGLIESI\": \"Via Basilicata, 33 - Z.I. Acquaviva delle Fonti\",\n    \"PRISCIANTELLI\": \"Via Puglia Z.I. - Acquaviva delle Fonti (BA)\",\n    \"PRODUTTORI AGRICOLI\": \"Via Puglia Z.I. - Acquaviva delle Fonti (BA)\",\n    \"PROFILVETRO\": \"Via Molise ZI - Acquaviva delle fonti\",\n    \"SI.DEL.\": \"Via per Sammichele Z.I. - Acquaviva delle Fonti\",\n    \"SIPAM\": \"Via per Sammichele Z.I. - Acquaviva delle Fonti\",\n    \"SOFT SOF\": \"Via Calabria Z.I. - Acquaviva delle Fontig\",\n    \"TECNA GROUP\": \"Via Abruzzo, 86 Z.I. - Acquaviva delle Fonti\",\n    \"VITALE INFISSI\": \"Via Puglia Z.I. - Acquaviva delle Fonti (BA)\",\n    \"ADSPACE\": \"Via Calabria Z.I. - Acquaviva delle Fonti\",\n    \"AGRICOLA SALATINO\": \"Via Puglia, 18 Z.I. - Acquaviva delle Fonti\",\n    \"STILE ARREDO\": \"Via Campania - Acquaviva delle fonti\",\n    \"MIALE\": \"Zona Industriale - Acquaviva delle Fonti\",\n    \"DE BERNARDIS\": \"Via Molise Z.I. - Acquaviva delle Fonti\",\n    \"TRITTO ANGELO\": \"Via Vito Giorgio ZI - Acquaviva delle fonti\",\n    \"FRANTOIO MASTROROCCO\": \"Via Basilicata ZI - Acquaviva delle Fonti\",\n    \"ISA.CO\": \"Zona Industriale - Acquaviva delle Fonti\",\n    \"MDL INVEST\": \"Via Sammichele Z.I. - Acquaviva delle Fonti\",\n    \"PROFILTECNICA\": \"Via Puglia Z.I. - Acquaviva delle Fonti (BA)\",\n    \"SIGBA\": \"Via Campania Z.I. - Acquaviva delle Fonti\",\n    \"TAFURI SURFACE\": \"Via Calabria Z.I. - Acquaviva delle fonti\",\n    \"TECNO SERVICE\": \"Via Basilicata, n.25 Z.I. - Acquaviva delle Fonti\",\n    \"VETROSYSTEM\": \"Via Per Sammichele Z.I. - Acquaviva delle Fonti\",\n    \"DIFONZO\": \"Via Basilicata Z.I. - Acquaviva delle Fonti (BA)\"\n  };\n\n  document.addEventListener(\"DOMContentLoaded\", function() {\n    const map = L.map('mappa-interattiva', {\n  scrollWheelZoom: false\n}).setView([40.897, 16.863], 14);\n    window.myMap = map;\n\n    L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n      maxZoom: 19,\n      attribution: '&copy; OpenStreetMap'\n    }).addTo(map);\n\n    const loghiAziende = [\n      { chiave: \"2I RETE GAS\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/2iReteGas.png\" },\n      { chiave: \"AUTO ABRUSCI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/AutoAbrusci.png\" },\n      { chiave: \"AUTOSUD\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/AutoSud.png\" },\n      { chiave: \"BENOTTO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Benotto.png\" },\n      { chiave: \"BRUNO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Bruno.png\" },\n      { chiave: \"CICCARONE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Ciccarone.png\" },\n      { chiave: \"COMBIVOX\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Combivox.png\" },\n      { chiave: \"CURTOMARTINO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Curtomartino.png\" },\n      { chiave: \"D&L\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/DL.png\" },\n      { chiave: \"DIMARTINO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Dimartino.png\" },\n      { chiave: \"EA COMMERCE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/EA.png\" },\n      { chiave: \"EDIL RECUPERI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Losito.png\" },\n      { chiave: \"EK IMPIANTI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/EK.png\" },\n      { chiave: \"FINLOGIC\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Finlogic.png\" },\n      { chiave: \"FRIGOSUD\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Frigosud.png\" },\n      { chiave: \"GRAFICHE FEDELE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/GraficheFedele.png\" },\n      { chiave: \"G.SCAVI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Gscavi.png\" },\n      { chiave: \"IDRA ITALIA\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Idra.png\" },\n      { chiave: \"IFAC\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/IFAC.png\" },\n      { chiave: \"I.T.I. PRO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/ITIPRO.png\" },\n      { chiave: \"KASUCCI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Kasucci.png\" },\n      { chiave: \"LA FONTE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/LaFonte.png\" },\n      { chiave: \"LENOCI INNOVATION\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/LenociInnovation.png\" },\n      { chiave: \"LENOCI MARCO ANTONIO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/LenociMarcoAntonio.png\" },\n      { chiave: \"LIBORIO FRUTTA\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/LiborioFrutta.png\" },\n      { chiave: \"MAIS\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Mais.png\" },\n      { chiave: \"MASTROROCCO SERRAMENTI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/MastroroccoSerramenti.png\" },\n      { chiave: \"AUTOLINEE MASTROROCCO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/MastroroccoViaggi.png\" },\n      { chiave: \"MELE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Mele.png\" },\n      { chiave: \"MIGLIONICO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Miglonico.png\" },\n      { chiave: \"MV LINE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/MV.png\" },\n      { chiave: \"NATURA VIVA\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/NaturaViva.png\" },\n      { chiave: \"NOVARTE\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Novarte.png\" },\n      { chiave: \"ORTI PUGLIESI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/OrtiPugliesi.png\" },\n      { chiave: \"PRISCIANTELLI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Prisciantelli.png\" },\n      { chiave: \"PRODUTTORI AGRICOLI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/ProduttoriAgricoliAssociati.png\" },\n      { chiave: \"PROFILVETRO\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Profilvetro.png\" },\n      { chiave: \"SI.DEL.\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Sidel.png\" },\n      { chiave: \"SIPAM\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Sipam.png\" },\n      { chiave: \"SOFT SOF\\u00c0\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/SoftSofa.png\" },\n      { chiave: \"TECNA GROUP\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/Tecna.png\" },\n      { chiave: \"VITALE INFISSI\", url: \"https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/2026\/09\/VitaleInfissi.png\" }\n    ];\n\n    window.getLogoUrl = function(nome) {\n      let nomeUpper = (nome || \"\").toUpperCase();\n      let logoTrovato = loghiAziende.find(item => nomeUpper.includes(item.chiave));\n      return logoTrovato ? logoTrovato.url : null;\n    };\n\n    window.getSedeOperativa = function(nome) {\n      let nomeUpper = (nome || \"\").toUpperCase();\n      for (let chiave in window.sediAziende) {\n        if (nomeUpper.includes(chiave.toUpperCase())) {\n          return window.sediAziende[chiave];\n        }\n      }\n      return \"-\";\n    };\n\n    function creaIcona(nome) {\n      let logoUrl = window.getLogoUrl(nome);\n      if (logoUrl) {\n        return L.icon({\n          iconUrl: logoUrl,\n          className: 'custom-company-logo-marker',\n          iconSize: [34, 34],\n          iconAnchor: [17, 17],\n          popupAnchor: [0, -18]\n        });\n      }\n\n      const svgPin = `\n        <div class=\"google-pin-container\">\n          <svg class=\"google-pin-svg\" width=\"27\" height=\"41\" viewBox=\"0 0 27 41\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n            <path d=\"M13.5 0C6.04416 0 0 6.04416 0 13.5C0 23.625 13.5 41 13.5 41C13.5 41 27 23.625 27 13.5C27 6.04416 20.9558 0 13.5 0Z\" fill=\"#0288D1\"\/>\n            <circle cx=\"13.5\" cy=\"13.5\" r=\"7.5\" fill=\"white\" fill-opacity=\"0.2\"\/>\n          <\/svg>\n          <i class=\"fa-solid fa-briefcase google-pin-icon\"><\/i>\n        <\/div>\n      `;\n\n      return L.divIcon({\n        className: 'custom-google-marker',\n        html: svgPin,\n        iconSize: [27, 41],\n        iconAnchor: [13.5, 41],\n        popupAnchor: [0, -36]\n      });\n    }\n\n    const kmlUrl = 'https:\/\/zonapip.comune.acquaviva.ba.it\/wp-content\/uploads\/mappa.kml';\n\n    fetch(kmlUrl)\n      .then(response => response.text())\n      .then(xmlText => {\n        const parser = new DOMParser();\n        const xmlDoc = parser.parseFromString(xmlText, \"text\/xml\");\n        const placemarks = xmlDoc.getElementsByTagName(\"Placemark\");\n        const bounds = L.latLngBounds();\n\n        Array.from(placemarks).forEach(pm => {\n          let nameEl = pm.getElementsByTagName(\"name\")[0];\n          let descEl = pm.getElementsByTagName(\"description\")[0];\n          let coordEl = pm.getElementsByTagName(\"coordinates\")[0];\n\n          if (coordEl) {\n            let title = nameEl ? nameEl.textContent.trim() : \"Attivit\u00e0\";\n            let desc = descEl ? descEl.textContent.trim() : \"\";\n\n            let tempDiv = document.createElement(\"div\");\n            tempDiv.innerHTML = desc;\n            let testoAttivita = tempDiv.textContent || tempDiv.innerText || \"\";\n\n            let coords = coordEl.textContent.trim().split(\",\");\n\n            if (coords.length >= 2) {\n              let lng = parseFloat(coords[0]);\n              let lat = parseFloat(coords[1]);\n\n              if (!isNaN(lat) && !isNaN(lng)) {\n                let latlng = [lat, lng];\n                bounds.extend(latlng);\n\n               let googleMapsUrl = `https:\/\/www.google.com\/maps\/dir\/?api=1&destination=${lat},${lng}`;\n\n\n\n                let logoUrl = window.getLogoUrl(title);\n                let logoHtml = logoUrl ? `<img decoding=\"async\" src=\"${logoUrl}\" class=\"popup-logo\" alt=\"${title}\">` : '';\n\n                let popupContent = `\n                  <div class='custom-kml-popup'>\n                    <div class=\"popup-header\">\n                      ${logoHtml}\n                      <h3>${title}<\/h3>\n                    <\/div>\n                    ${desc ? `<div class='popup-desc'>${desc}<\/div>` : ''}\n                    <a href=\"${googleMapsUrl}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"btn-navigatore\">\n                      <i class=\"fa-solid fa-diamond-turn-right\"><\/i> Indicazioni stradali\n                    <\/a>\n                  <\/div>`;\n\n                let marker = L.marker(latlng, { icon: creaIcona(title) })\n                  .bindPopup(popupContent)\n                  .addTo(map);\n\n                window.listaMarkerMappa.push({\n                  nome: title,\n                  attivita: testoAttivita.trim(),\n                  sede: window.getSedeOperativa(title),\n                  layer: marker\n                });\n              }\n            }\n          }\n        });\n\n        if (bounds.isValid()) {\n          map.fitBounds(bounds, { padding: [30, 30] });\n        }\n\n        window.dispatchEvent(new Event('kmlMappaCaricato'));\n      })\n      .catch(err => console.error(\"Errore KML:\", err));\n\n    setTimeout(() => map.invalidateSize(), 500);\n  });\n<\/script>\n\n<style>\n  .contenitore-ricerca-aziende {\n    margin-top: 30px;\n    font-family: system-ui, -apple-system, sans-serif;\n  }\n  .box-ricerca {\n    position: relative;\n    margin-bottom: 20px;\n  }\n  .input-ricerca {\n    width: 100%;\n    padding: 14px 16px 14px 45px;\n    font-size: 0.94rem;\n    border: 1px solid #dcdfe6;\n    border-radius: 8px;\n    box-sizing: border-box;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.04);\n    outline: none;\n    transition: all 0.2s ease;\n  }\n  .input-ricerca:focus {\n    border-color: #1a73e8;\n    box-shadow: 0 0 0 3px rgba(26, 115, 232, 0.15);\n  }\n  .icona-ricerca {\n    position: absolute;\n    left: 15px;\n    top: 50%;\n    transform: translateY(-50%);\n    color: #8c939d;\n    font-size: 1rem;\n  }\n  .elenco-aziende-verticale {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n  }\n  .riga-azienda {\n    background: #ffffff;\n    border: 1px solid #eef2f6;\n    border-radius: 10px;\n    padding: 16px 18px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    box-shadow: 0 2px 6px rgba(0,0,0,0.03);\n    transition: all 0.2s ease;\n  }\n  .riga-azienda:hover {\n    border-color: #dcdfe6;\n    box-shadow: 0 4px 12px rgba(0,0,0,0.06);\n  }\n  .azienda-corpo {\n    display: flex;\n    align-items: flex-start;\n    gap: 15px;\n    flex-grow: 1;\n  }\n  .azienda-logo {\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    object-fit: cover;\n    border: 1px solid #e0e0e0;\n    flex-shrink: 0;\n    margin-top: 2px;\n  }\n  .azienda-placeholder-icon {\n    width: 44px;\n    height: 44px;\n    border-radius: 50%;\n    background-color: #e8f0fe;\n    color: #1a73e8;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 1.13rem;\n    flex-shrink: 0;\n    margin-top: 2px;\n  }\n  .azienda-dettagli {\n    display: flex;\n    flex-direction: column;\n    gap: 4px;\n  }\n  .azienda-titolo {\n    font-size: 1rem;\n    font-weight: 700;\n    color: #1a1a1a;\n    margin: 0 0 2px 0;\n  }\n  .azienda-campo {\n    font-size: 0.84rem;\n    color: #444;\n    margin: 0;\n    line-height: 1.4;\n  }\n  .btn-vedi-mappa {\n    background-color: #f4f6f9;\n    color: #1a73e8;\n    border: 1px solid #d0d7de;\n    border-radius: 6px;\n    padding: 8px 14px;\n    font-size: 0.81rem;\n    font-weight: 600;\n    cursor: pointer;\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    white-space: nowrap;\n    transition: all 0.2s ease;\n    flex-shrink: 0;\n    margin-left: 12px;\n    align-self: center;\n  }\n  .btn-vedi-mappa:hover {\n    background-color: #1a73e8;\n    color: #ffffff;\n    border-color: #1a73e8;\n  }\n  @media (max-width: 600px) {\n    .riga-azienda {\n      flex-direction: column;\n      align-items: flex-start;\n      gap: 12px;\n    }\n    .btn-vedi-mappa {\n      width: 100%;\n      justify-content: center;\n      margin-left: 0;\n    }\n  }\n<\/style>\n\n<div class=\"contenitore-ricerca-aziende\">\n  <div class=\"box-ricerca\">\n    <i class=\"fa-solid fa-magnifying-glass icona-ricerca\"><\/i>\n    <input type=\"text\" id=\"filtro-aziende\" class=\"input-ricerca\" placeholder=\"Cerca per nome, attivit\u00e0 o sede...\" onkeyup=\"filtraAziende()\">\n  <\/div>\n\n  <div class=\"elenco-aziende-verticale\" id=\"lista-aziende\">\n    <div style=\"text-align: center; color: #888; padding: 20px;\">Caricamento elenco aziende&#8230;<\/div>\n  <\/div>\n<\/div>\n\n<script>\n  function generaElencoDinamico() {\n    const contenitore = document.getElementById('lista-aziende');\n    if (!contenitore || !window.listaMarkerMappa) return;\n\n    window.listaMarkerMappa.sort((a, b) => a.nome.localeCompare(b.nome));\n\n    contenitore.innerHTML = '';\n\n    window.listaMarkerMappa.forEach((item, index) => {\n      let nome = item.nome;\n      let attivita = item.attivita || \"-\";\n      let sede = item.sede || \"-\";\n      let logoUrl = window.getLogoUrl ? window.getLogoUrl(nome) : null;\n      \n      let avatarHtml = logoUrl \n        ? `<img decoding=\"async\" src=\"${logoUrl}\" class=\"azienda-logo\" alt=\"\">`\n        : `<div class=\"azienda-placeholder-icon\"><i class=\"fa-solid fa-location-dot\"><\/i><\/div>`;\n\n      let testoRicerca = `${nome} ${attivita} ${sede}`.toLowerCase();\n\n      let riga = document.createElement('div');\n      riga.className = 'riga-azienda';\n      riga.setAttribute('data-ricerca', testoRicerca);\n      riga.innerHTML = `\n        <div class=\"azienda-corpo\">\n          ${avatarHtml}\n          <div class=\"azienda-dettagli\">\n            <h4 class=\"azienda-titolo\">${nome}<\/h4>\n            <p class=\"azienda-campo\"><strong>Sede operativa:<\/strong> ${sede}<\/p>\n            <p class=\"azienda-campo\"><strong>Tipologia attivit\u00e0 svolta:<\/strong> ${attivita}<\/p>\n          <\/div>\n        <\/div>\n        <button class=\"btn-vedi-mappa\" onclick=\"trovaEMappaByIndex(${index})\">\n          <i class=\"fa-solid fa-location-dot\"><\/i> Vedi in mappa\n        <\/button>\n      `;\n      contenitore.appendChild(riga);\n    });\n  }\n\n  window.addEventListener('kmlMappaCaricato', generaElencoDinamico);\n\n  if (window.listaMarkerMappa && window.listaMarkerMappa.length > 0) {\n    generaElencoDinamico();\n  }\n\n  function filtraAziende() {\n    let input = document.getElementById('filtro-aziende').value.toLowerCase();\n    let righe = document.querySelectorAll('.riga-azienda');\n\n    righe.forEach(riga => {\n      let testo = riga.getAttribute('data-ricerca');\n      if (testo.includes(input)) {\n        riga.style.display = 'flex';\n      } else {\n        riga.style.display = 'none';\n      }\n    });\n  }\n\n  function trovaEMappaByIndex(index) {\n    if (!window.myMap || !window.listaMarkerMappa[index]) return;\n\n    const target = window.listaMarkerMappa[index];\n    const elMappa = document.getElementById('mappa-interattiva');\n\n    if (elMappa) {\n      elMappa.scrollIntoView({ behavior: 'smooth', block: 'center' });\n    }\n\n    setTimeout(() => {\n      window.myMap.flyTo(target.layer.getLatLng(), 17, { duration: 1.2 });\n      setTimeout(() => { \n        target.layer.openPopup(); \n      }, 700);\n    }, 300);\n  }\n<\/script>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Mappa digitale della Zona industriale Tutte le aziende ed i dati riportati nella mappa sono stati ottenuti tramite un questionario di raccolta dati e successivamente digitalizzati per permetterne una pi\u00f9 facile fruizione, analisi ed elaborazione. Ottenendo in tal modo un quadro esaustivo, realistico e trasparente della Zona Industriale. Potrai scoprire tutte le aziende esplorando la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-no-title","meta":{"footnotes":""},"class_list":["post-76","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/pages\/76","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/comments?post=76"}],"version-history":[{"count":133,"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/pages\/76\/revisions"}],"predecessor-version":[{"id":577,"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/pages\/76\/revisions\/577"}],"wp:attachment":[{"href":"https:\/\/zonapip.comune.acquaviva.ba.it\/en\/wp-json\/wp\/v2\/media?parent=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}