{"id":4276,"date":"2025-03-07T13:29:01","date_gmt":"2025-03-07T16:29:01","guid":{"rendered":"https:\/\/modaartesanademallorca.com\/route-mam\/"},"modified":"2026-06-04T11:09:32","modified_gmt":"2026-06-04T14:09:32","slug":"route-mam","status":"publish","type":"page","link":"https:\/\/modaartesanademallorca.com\/fr\/route-mam\/","title":{"rendered":"Route MAM"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4276\" class=\"elementor elementor-4276 elementor-319\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b63fa85 e-flex e-con-boxed e-con e-parent\" data-id=\"b63fa85\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c222f34 elementor-widget elementor-widget-shortcode\" data-id=\"c222f34\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\">\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet.markercluster@1.5.3\/dist\/MarkerCluster.css\">\n<link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet.markercluster@1.5.3\/dist\/MarkerCluster.Default.css\">\n\n<style>\n  * {\n    box-sizing: border-box;\n  }\n\n  body {\n    margin: 0;\n    font-family: Arial, sans-serif;\n    background: #f7f7f7;\n  }\n\n  .map-wrapper {\n    position: relative;\n  }\n\n  .mobile-toggle {\n    display: none;\n    position: absolute;\n    top: 12px;\n    left: 12px;\n    z-index: 1200;\n    border: 0;\n    background: #222;\n    color: #fff;\n    padding: 10px 14px;\n    border-radius: 8px;\n    cursor: pointer;\n    font-size: 14px;\n  }\n\n  .map-layout {\n    display: flex;\n    gap: 16px;\n    height: 700px;\n    position: relative;\n  }\n\n  .sidebar {\n    width: 320px;\n    min-width: 320px;\n    overflow-y: auto;\n    border: 1px solid #ddd;\n    border-radius: 8px;\n    background: #fff;\n    padding: 12px;\n  }\n\n  .sidebar-header {\n    margin-bottom: 12px;\n  }\n\n  .sidebar-title {\n    font-size: 20px;\n    font-weight: 700;\n    margin-bottom: 8px;\n  }\n\n  .search-input {\n    width: 100%;\n    padding: 10px 12px;\n    border: 1px solid #ccc;\n    border-radius: 8px;\n    font-size: 14px;\n  }\n\n  .sidebar-list {\n    display: flex;\n    flex-direction: column;\n  }\n\n  .sidebar-item {\n    padding: 12px;\n    border-bottom: 1px solid #eee;\n    cursor: pointer;\n    border-radius: 8px;\n  }\n\n  .sidebar-item:hover,\n  .sidebar-item.active {\n    background: #f5f5f5;\n  }\n\n  .sidebar-item-title {\n    font-weight: 600;\n    margin-bottom: 4px;\n  }\n\n  .sidebar-item-address {\n    font-size: 13px;\n    color: #666;\n    margin-bottom: 4px;\n  }\n\n  .sidebar-item-coords {\n    font-size: 12px;\n    color: #888;\n  }\n\n  .empty-results {\n    padding: 12px;\n    color: #666;\n    font-size: 14px;\n    display: none;\n  }\n\n  #map {\n    flex: 1;\n    border-radius: 8px;\n    min-height: 700px;\n  }\n\n  .popup-content {\n    max-width: 240px;\n  }\n\n  .popup-content img {\n    width: 100%;\n    height: 140px;\n    object-fit: cover;\n    border-radius: 6px;\n    margin: 8px 0;\n  }\n\n  .popup-title {\n    font-size: 16px;\n    font-weight: 700;\n    margin-bottom: 6px;\n  }\n\n  .popup-address {\n    font-size: 13px;\n    color: #555;\n    margin-bottom: 8px;\n  }\n\n  .popup-link {\n    display: inline-block;\n    margin-top: 4px;\n    color: #0b57d0;\n    text-decoration: none;\n    font-size: 14px;\n  }\n\n  .popup-link:hover {\n    text-decoration: underline;\n  }\n\n  @media (max-width: 768px) {\n    .mobile-toggle {\n      display: inline-block;\n    }\n\n    .map-layout {\n      display: block;\n      height: 100vh;\n    }\n\n    .sidebar {\n      position: absolute;\n      top: 0;\n      left: 0;\n      bottom: 0;\n      z-index: 1100;\n      width: 85%;\n      max-width: 340px;\n      min-width: auto;\n      border-radius: 0;\n      transform: translateX(-100%);\n      transition: transform 0.25s ease;\n      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);\n    }\n\n    .sidebar.open {\n      transform: translateX(0);\n    }\n\n    #map {\n      width: 100%;\n      height: 100vh;\n      min-height: 100vh;\n      border-radius: 0;\n    }\n  }\n<\/style>\n\n<div class=\"map-wrapper\">\n  <button id=\"mobileToggle\" class=\"mobile-toggle\" type=\"button\">Lieux<\/button>\n\n  <div class=\"map-layout\">\n    <div class=\"sidebar\" id=\"sidebar\">\n      <div class=\"sidebar-header\">\n        <div class=\"sidebar-title\">Artisans<\/div>\n        <input type=\"text\" id=\"searchInput\" class=\"search-input\" placeholder=\"Rechercher par nom, adresse ou localit\u00e9...\">\n      <\/div>\n\n      <div id=\"sidebarList\" class=\"sidebar-list\"><\/div>\n      <div id=\"emptyResults\" class=\"empty-results\">Aucun r\u00e9sultat trouv\u00e9.<\/div>\n    <\/div>\n\n    <div id=\"map\"><\/div>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>\n<script src=\"https:\/\/unpkg.com\/leaflet.markercluster@1.5.3\/dist\/leaflet.markercluster.js\"><\/script>\n\n<script>\n  var map = L.map(\"map\").setView([39.6953, 3.0176], 10);\n\n  L.tileLayer(\"https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png\", {\n    attribution: \"&copy; OpenStreetMap contributors\"\n  }).addTo(map);\n\n  var baseMediaUrl = \"https:\/\/modaartesanademallorca.com\";\n\n\n  var customIcon = L.icon({\n    iconUrl: \"https:\/\/modaartesanademallorca.com\/wp-content\/uploads\/2026\/03\/Pin-mapa.png\",\n    iconSize: [36, 48],\n    iconAnchor: [18, 48],\n    popupAnchor: [0, -42]\n  });\n\n  var artesans = [\n    {\n      name: \"A. Fuster Joiers\",\n      lat: 39.712634,\n      lng: 3.4588289,\n      address: \"Avinguda de Cala Agulla, 24\",\n      town: \"Cala Rajada\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Ornamentacio_1-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/afuster\/\"\n    },\n    {\n      name: \"Alicia Forteza Joies\",\n      lat: 39.579118,\n      lng: 2.650606,\n      address: \"C. de Blanquerna, 14\",\n      town: \"Palma\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Ornamentacio_2-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/alicia-forteza-joies\/\"\n    },\n    {\n      name: \"Antic Mallorca\",\n      lat: 39.7180178,\n      lng: 2.9094505,\n      address: \"Gran Via Colom, 28\",\n      town: \"Inca\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Antic-Mallorca_1.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/antic-mallorca\/\"\n    },\n    {\n      name: \"Artesania T\u00e8xtil Bujosa\",\n      lat: 39.650026,\n      lng: 2.771188,\n      address: \"Carrer de Bernat de Santa Eugenia, 53\",\n      town: \"Santa Maria\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_1-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/artesania-textil-bujosa\/\"\n    },\n    {\n      name: \"Ben Cal\u00e7at\",\n      lat: 39.7676391,\n      lng: 2.7151056,\n      address: \"Carrer de sa Lluna, 74\",\n      town: \"S\u00f3ller\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Calcat_1-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/ben-calcat\/\"\n    },\n    {\n      name: \"Carlos Tellechea\",\n      lat: 39.767451,\n      lng: 2.7168009,\n      address: \"Carrer de sa Lluna, 43\",\n      town: \"S\u00f3ller\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Carlos-Tellechea_4.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/arteartesania\/\"\n    },\n    {\n      name: \"Dami\u00e0 Mulet Joies\",\n      lat: 39.4312952,\n      lng: 3.0166004,\n      address: \"Carrer de Pla\u00e7a, 5\",\n      town: \"Campos\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Ornamentacio_4-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/joies-damia-mulet\/\"\n    },\n    {\n      name: \"Espai Kam\u00e0ndalu\",\n      lat: 39.6950325,\n      lng: 3.3491473,\n      address: \"Carrer de Sanxo de la Jordana, 5\",\n      town: \"Arta\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Fibres_2-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/espai-kamandalu\/\"\n    },\n    {\n      name: \"Feel Mallorca\",\n      lat: 39.7061397,\n      lng: 2.7874551,\n      address: \"Carrer de Can Ros, 1\",\n      town: \"Alaro\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_2-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/feel-mallorca\/\"\n    },\n    {\n      name: \"Javier Vallori Pizarro\",\n      lat: 39.876076,\n      lng: 3.024328,\n      address: \"Carretera Aumadrava, km 0.2\",\n      town: \"Pollenca\",\n      image: \"\/wp-content\/uploads\/2026\/01\/JVP-Joyeria_6.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/jvp-joyeria-2\/\"\n    },\n    {\n      name: \"Maria Genovard Atelier\",\n      lat: 39.6925891,\n      lng: 3.344795,\n      address: \"Carrer de Ciutat, 17\",\n      town: \"Arta\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_3-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/maria-genovard\/\"\n    },\n    {\n      name: \"Mastrenat\",\n      lat: 39.8784902,\n      lng: 3.0179793,\n      address: \"C\/ de Sor Flor Ricomana, 25\",\n      town: \"Pollenca\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Pell_1-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/mastrenat\/\"\n    },\n    {\n      name: \"Moraduix\",\n      lat: 39.7209765,\n      lng: 2.9039555,\n      address: \"Carrer de ses Garroves, 42\",\n      town: \"Inca\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_4-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/moraduix\/\"\n    },\n    {\n      name: \"Paumes i Brins\",\n      lat: 39.6137606,\n      lng: 2.6312239,\n      address: \"Carrer de Can Sunyer, 4\",\n      town: \"Secar de la Real\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Fibres_3-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/paumes-i-brins\/\"\n    },\n    {\n      name: \"Teixits Riera\",\n      lat: 39.7178212,\n      lng: 2.8626379,\n      address: \"Carrer Major, 50\",\n      town: \"Lloseta\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_5-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/teixits-riera\/\"\n    },\n    {\n      name: \"Teixits Vicens\",\n      lat: 39.8803349,\n      lng: 3.0146376,\n      address: \"Rotonda de Can Berenguer, s\/n\",\n      town: \"Pollenca\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_6-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/teixits-vicens\/\"\n    },\n    {\n      name: \"Vius Esporles\",\n      lat: 39.6662669,\n      lng: 2.5762844,\n      address: \"Carrer de sa Casa des Poble, 3\",\n      town: \"Esporles\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Confeccio_7-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/vius-esporles\/\"\n    },\n    {\n      name: \"Yolitas\",\n      lat: 39.7117684,\n      lng: 3.4594381,\n      address: \"Avinguda de Cala Agulla 14\",\n      town: \"Cala Rajada\",\n      image: \"\/wp-content\/uploads\/2026\/01\/Fibres_4-2048x1366.jpg\",\n      link: \"https:\/\/modaartesanademallorca.com\/catalogo\/yolitas\/\"\n    }\n  ];\n\n  var sidebar = document.getElementById(\"sidebar\");\n  var sidebarList = document.getElementById(\"sidebarList\");\n  var searchInput = document.getElementById(\"searchInput\");\n  var emptyResults = document.getElementById(\"emptyResults\");\n  var mobileToggle = document.getElementById(\"mobileToggle\");\n\n  var markerCluster = L.markerClusterGroup();\n  var markerMap = {};\n\n  function getImageUrl(path) {\n    if (!path) return \"\";\n    if (path.startsWith(\"http:\/\/\") || path.startsWith(\"https:\/\/\")) return path;\n    return baseMediaUrl + path;\n  }\n\n  function createPopupContent(item) {\n    return `\n      <div class=\"popup-content\">\n        <div class=\"popup-title\">${item.name}<\/div>\n        <div class=\"popup-address\">${item.address}, ${item.town}<\/div>\n        <img decoding=\"async\" src=\"${getImageUrl(item.image)}\" alt=\"${item.name}\">\n        <a class=\"popup-link\" href=\"${item.link}\" target=\"_blank\" rel=\"noopener noreferrer\">Veure fitxa<\/a>\n      <\/div>\n    `;\n  }\n\n artesans.forEach(function(item) {\n    var marker = L.marker([item.lat, item.lng], {\n      icon: customIcon\n    }).bindPopup(createPopupContent(item));\n\n\n    marker.on(\"click\", function() {\n      highlightSidebarItem(item.name);\n    });\n\n    markerMap[item.name] = marker;\n    markerCluster.addLayer(marker);\n  });\n\n  map.addLayer(markerCluster);\n\n  function highlightSidebarItem(name) {\n    var allItems = document.querySelectorAll(\".sidebar-item\");\n    allItems.forEach(function(el) {\n      el.classList.remove(\"active\");\n    });\n\n    var selected = document.querySelector('.sidebar-item[data-name=\"' + CSS.escape(name) + '\"]');\n    if (selected) {\n      selected.classList.add(\"active\");\n    }\n  }\n\n  function focusLocation(item) {\n    var marker = markerMap[item.name];\n\n    markerCluster.zoomToShowLayer(marker, function() {\n      map.setView([item.lat, item.lng], 14);\n      marker.openPopup();\n    });\n\n    highlightSidebarItem(item.name);\n\n    if (window.innerWidth <= 768) {\n      sidebar.classList.remove(\"open\");\n    }\n  }\n\n  function renderSidebar(list) {\n    sidebarList.innerHTML = \"\";\n\n    if (!list.length) {\n      emptyResults.style.display = \"block\";\n      return;\n    }\n\n    emptyResults.style.display = \"none\";\n\n    list.forEach(function(item) {\n      var sidebarItem = document.createElement(\"div\");\n      sidebarItem.className = \"sidebar-item\";\n      sidebarItem.setAttribute(\"data-name\", item.name);\n      sidebarItem.innerHTML = `\n        <div class=\"sidebar-item-title\">${item.name}<\/div>\n        <div class=\"sidebar-item-address\">${item.address}, ${item.town}<\/div>\n      `;\n\n      sidebarItem.addEventListener(\"click\", function() {\n        focusLocation(item);\n      });\n\n      sidebarList.appendChild(sidebarItem);\n    });\n  }\n\n  searchInput.addEventListener(\"input\", function() {\n    var term = this.value.trim().toLowerCase();\n\n    var filtered = artesans.filter(function(item) {\n      return (\n        item.name.toLowerCase().includes(term) ||\n        item.address.toLowerCase().includes(term) ||\n        item.town.toLowerCase().includes(term)\n      );\n    });\n\n    renderSidebar(filtered);\n  });\n\n  mobileToggle.addEventListener(\"click\", function() {\n    sidebar.classList.toggle(\"open\");\n  });\n\n  renderSidebar(artesans);\n<\/script>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Lieux Artisans Aucun r\u00e9sultat trouv\u00e9.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-4276","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/pages\/4276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/comments?post=4276"}],"version-history":[{"count":3,"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/pages\/4276\/revisions"}],"predecessor-version":[{"id":4279,"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/pages\/4276\/revisions\/4279"}],"wp:attachment":[{"href":"https:\/\/modaartesanademallorca.com\/fr\/wp-json\/wp\/v2\/media?parent=4276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}