{"id":943,"date":"2025-02-05T16:55:08","date_gmt":"2025-02-05T16:55:08","guid":{"rendered":"https:\/\/www.cifial.pt\/contactos\/"},"modified":"2026-03-30T10:14:11","modified_gmt":"2026-03-30T10:14:11","slug":"contactos","status":"publish","type":"page","link":"https:\/\/www.cifial.pt\/fr\/contactos\/","title":{"rendered":"Contactos"},"content":{"rendered":"<p>[vc_row css_animation=\u00a0\u00bbfadeIn\u00a0\u00bb el_class=\u00a0\u00bbcontacto-local\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/2&Prime;]\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f28867-o1\" lang=\"fr-FR\" dir=\"ltr\" data-wpcf7-id=\"28867\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/fr\/wp-json\/wp\/v2\/pages\/943#wpcf7-f28867-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulaire de contact\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"28867\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"fr_FR\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f28867-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<h6>FALE CONNOSCO\n<\/h6>\n<p><label> NOME<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n<\/p>\n<p><label> E-MAIL<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" autocomplete=\"email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n<\/p>\n<p><label> DEPARTAMENTO<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-subject\"><select class=\"wpcf7-form-control wpcf7-select wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" name=\"your-subject\"><option value=\"RECRUTAMENTO\">RECRUTAMENTO<\/option><option value=\"COMERCIAL\">COMERCIAL<\/option><option value=\"SERVICO P\u00d3S-VENDA\">SERVICO P\u00d3S-VENDA<\/option><option value=\"MARKETING\/ COMUNICA\u00c7\u00c3O\">MARKETING\/ COMUNICA\u00c7\u00c3O<\/option><option value=\"SUGEST\u00d5ES\">SUGEST\u00d5ES<\/option><\/select><\/span> <\/label>\n<\/p>\n<p><label> MENSAGEM (opcional)<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" name=\"your-message\"><\/textarea><\/span> <\/label>\n<\/p>\n<div class=\"wpcf7-turnstile cf-turnstile\" data-sitekey=\"0x4AAAAAABkNogGsXlld5AXK\" data-response-field-name=\"_wpcf7_turnstile_response\"><\/div>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"ENVIAR\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n[\/vc_column][vc_column width=\u00a0\u00bb1\/2&Prime; el_class=\u00a0\u00bbconteudo-contactos\u00a0\u00bb][vc_column_text]<\/p>\n<h6>CIFIAL, S.A.<\/h6>\n<p>Rua da Circunvala\u00e7\u00e3o, n\u00ba 210, Lugar da Abelheira<br \/>\n4520-461, Rio Me\u00e3o<br \/>\nPortugal<\/p>\n<p><a href=\"mailto:cifial@cifial.pt\">cifial@cifial.pt<\/a><\/p>\n<p>Tel.: <a href=\"tel:+351256780100\">+351 229 765 200<\/a><br \/>\n<small>chamada para rede fixa nacional<\/small>[\/vc_column_text][vc_column_text el_class=\u00a0\u00bbcontacto-bloco-2&Prime;]<\/p>\n<h6>CIFIAL UK LTD.<\/h6>\n<p>7 Faraday Court, Park Farm Industrial Estate<br \/>\nWellingborough<br \/>\nNorthants, NN8 6XY<br \/>\nReino Unido<\/p>\n<p><a href=\"mailto:sales@cifial.co.uk\">sales@cifial.co.uk<\/a><\/p>\n<p>Tel.: <a href=\"tel:+441933402008\">+44 1933 402008<\/a><\/p>\n<p>[\/vc_column_text][\/vc_column][\/vc_row][vc_row css_animation=\u00a0\u00bbfadeInUp\u00a0\u00bb][vc_column][vc_column_text]\n\n\n<div class=\"mapa-especial contacto-local\" id=\"mapa-ancora\">\n    <h6>POINTS OF SALE<\/h6>\n    <div class=\"mapa-visual\">\n        <div class=\"mapa-esq\">\n            <form id=\"form-morada\">\n                <label>CITY <br>\n                <input type=\"text\" id=\"morada\" name=\"morada\" placeholder=\"Enter your address\" \/><\/label>\n                <label>LOCATION <br>\n                <input type=\"text\" id=\"localidade\" name=\"localidade\" placeholder=\"Enter the location\" \/><\/label>\n                <label>ZIP CODE <br>\n                <input type=\"text\" id=\"codigo_postal\" name=\"codigo_postal\" placeholder=\"Enter zip code\" \/><\/label>\n                <button type=\"submit\">Find Nearby Store<\/button>\n            <\/form>\n\n            <!-- Div para exibir a lista de lojas ordenadas por proximidade -->\n            <div id=\"lojas-listagem\" style=\"margin-top: 20px;\">\n             <!--   <h3>PONTOS DE VENDA MAIS PROXIMOS<\/h3> -->\n                <ul id=\"lojas-lista\" style=\"list-style-type: none; padding: 0;\"><\/ul>\n            <\/div>\n        <\/div>\n        <div class=\"mapa-dir\">\n            <div id=\"map\"><\/div>\n                <div class=\"zoom-controls\">\n                    <button id=\"zoom-in\">+<\/button>\n                    <button id=\"zoom-out\">-<\/button>\n                <\/div>           \n        <\/div>\n        <div id=\"loading-indicator\" style=\"display: none;\">\n           <!-- <p>Procurando lojas pr\u00f3ximas...<\/p>-->\n            <div class=\"loader\"><\/div> <!-- Este \u00e9 um exemplo de indicador de carregamento -->\n        <\/div>\n                \n    <\/div>    \n<\/div>    \n\n\n\n\n\n\n\n\n\n<script>\nlet map;\n\nconst customMapStyle = [\n  {\n    \"elementType\": \"geometry\",\n    \"stylers\": [\n      {\n        \"color\": \"#242f3e\"\n      }\n    ]\n  },\n  {\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#746855\"\n      }\n    ]\n  },\n  {\n    \"elementType\": \"labels.text.stroke\",\n    \"stylers\": [\n      {\n        \"color\": \"#242f3e\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"administrative.locality\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#cccbca\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"poi\",\n    \"elementType\": \"labels.text\",\n    \"stylers\": [\n      {\n        \"visibility\": \"off\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"poi\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#d59563\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"poi.business\",\n    \"stylers\": [\n      {\n        \"visibility\": \"off\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"poi.park\",\n    \"elementType\": \"geometry\",\n    \"stylers\": [\n      {\n        \"color\": \"#263c3f\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"poi.park\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#6b9a76\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road\",\n    \"elementType\": \"geometry\",\n    \"stylers\": [\n      {\n        \"color\": \"#38414e\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road\",\n    \"elementType\": \"geometry.stroke\",\n    \"stylers\": [\n      {\n        \"color\": \"#212a37\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road\",\n    \"elementType\": \"labels.icon\",\n    \"stylers\": [\n      {\n        \"visibility\": \"off\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#9ca5b3\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road.highway\",\n    \"elementType\": \"geometry\",\n    \"stylers\": [\n      {\n        \"color\": \"#746855\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road.highway\",\n    \"elementType\": \"geometry.stroke\",\n    \"stylers\": [\n      {\n        \"color\": \"#1f2835\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"road.highway\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#f3d19c\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"transit\",\n    \"stylers\": [\n      {\n        \"visibility\": \"off\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"transit\",\n    \"elementType\": \"geometry\",\n    \"stylers\": [\n      {\n        \"color\": \"#2f3948\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"transit.station\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#d59563\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"water\",\n    \"elementType\": \"geometry\",\n    \"stylers\": [\n      {\n        \"color\": \"#2C2C2C\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"water\",\n    \"elementType\": \"labels.text.fill\",\n    \"stylers\": [\n      {\n        \"color\": \"#515c6d\"\n      }\n    ]\n  },\n  {\n    \"featureType\": \"water\",\n    \"elementType\": \"labels.text.stroke\",\n    \"stylers\": [\n      {\n        \"color\": \"#17263c\"\n      }\n    ]\n  }\n];\n\n\n\nlet markers = []; \/\/ Armazena os marcadores para poder remov\u00ea-los\n\n\/\/ Fun\u00e7\u00e3o para inicializar o mapa\nfunction initMap(userLat = 38.7169, userLng = -9.1395) {\n    map = new google.maps.Map(document.getElementById('map'), {\n        zoom: 10,\n        center: { lat: userLat, lng: userLng },\n        styles: customMapStyle,\n        zoomControl: false, \/\/ Desabilita os controles de zoom padr\u00e3o\n    });\n\n    \/\/ Adiciona eventos para os bot\u00f5es de zoom\n    document.getElementById('zoom-in').addEventListener('click', () => {\n        const currentZoom = map.getZoom();\n        map.setZoom(currentZoom + 0.5); \/\/ Aumenta o zoom\n    });\n\n    document.getElementById('zoom-out').addEventListener('click', () => {\n        const currentZoom = map.getZoom();\n        map.setZoom(currentZoom - 1); \/\/ Diminui o zoom\n    });\n\n    \/\/ Criar InfoWindow (somente uma para ser reutilizada)\n    const infoWindow = new google.maps.InfoWindow();\n\n    \/\/ Buscar lojas na API e adicionar no mapa\n    fetch('\/wp-json\/wp\/v2\/lojas')\n        .then(response => response.json())\n        .then(lojas => {\n            if (lojas.length) {\n                lojas.forEach(loja => {\n                    const lat = parseFloat(loja.meta._latitude_loja.trim());\n                    const lng = parseFloat(loja.meta._longitude_loja.trim());\n                    const name = loja.title.rendered;\n                    const content = loja.content.rendered;\n\n                    if (!isNaN(lat) && !isNaN(lng)) {\n                        const marker = new google.maps.Marker({\n                            position: { lat, lng },\n                            map: map,\n                            title: name,\n                            icon: {\n                                url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/red-dot.png\",\n                                scaledSize: new google.maps.Size(20, 20),\n                            }\n                        });\n\n                        \/\/ Evento de clique para exibir InfoWindow no marcador\n                        marker.addListener('click', function () {\n                            const infoContent = `\n                                <div class=\"avisos-mapas\">\n                                    <h3>${name}<\/h3>\n                                    <p>${content}<\/p>\n                                    <p class=\"link-mapa\"><a href=\"https:\/\/www.google.com\/maps?q=${lat},${lng}\" target=\"_blank\">Ver no Google Maps<\/a><\/p>\n                                <\/div>\n                            `;\n                            infoWindow.setContent(infoContent);\n                            infoWindow.open(map, marker);\n                        });\n\n                        markers.push(marker); \/\/ Salva o marcador no array global\n                    }\n                });\n            }\n        })\n        .catch(error => {\n            console.error(\"Erro ao buscar as lojas:\", error);\n        });\n}\n\n\n\/\/ Fun\u00e7\u00e3o para limpar os marcadores do mapa\nfunction clearMarkers() {\n    markers.forEach(marker => marker.setMap(null)); \/\/ Remove do mapa\n    markers = []; \/\/ Esvazia o array\n}\n\nfunction updateMap(userLat, userLng, lojas) {\n    if (map) {\n        map.setCenter({ lat: userLat, lng: userLng });\n        map.setZoom(12);\n    }\n\n    \/\/ Remove todos os marcadores antes de adicionar os novos\n    clearMarkers();\n\n    \/\/ Adiciona um marcador azul na morada pesquisada\n    new google.maps.Marker({\n        position: { lat: userLat, lng: userLng },\n        map: map,\n        title: \"Morada Pesquisada\",\n        icon: {\n            url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/blue-dot.png\" \/\/ \u00cdcone azul para a morada pesquisada\n        }\n    });\n\n    \/\/ Calcular as dist\u00e2ncias e adicionar \u00e0 loja\n    lojas.forEach(loja => {\n        const lat = parseFloat(loja.meta._latitude_loja.trim());\n        const lng = parseFloat(loja.meta._longitude_loja.trim());\n\n        if (!isNaN(lat) && !isNaN(lng)) {\n            loja.distancia = getDistance(userLat, userLng, lat, lng); \/\/ Adiciona a dist\u00e2ncia \u00e0 loja\n        } else {\n            console.log(`Coordenadas inv\u00e1lidas para a loja ${loja.title.rendered}`);\n        }\n    });\n\n    \/\/ Ordena as lojas pela dist\u00e2ncia (da mais pr\u00f3xima para a mais distante)\n    lojas.sort((a, b) => a.distancia - b.distancia);\n\n    \/\/ Limpa a lista de lojas antes de adicionar as novas\n    const lojasLista = document.getElementById('lojas-lista');\n    lojasLista.innerHTML = '';\n\n\n    \/\/ Inst\u00e2ncia de InfoWindow\n    const infoWindow = new google.maps.InfoWindow();\n\n    \/\/ **Array para guardar os marcadores**\n    const markers = [];\n    let activeMarker = null; \/\/ **Armazena o marcador ativo**\n\n    \/\/ Exibe as 10 lojas mais pr\u00f3ximas\n    lojas.slice(0, 10).forEach((loja, index) => {\n        const lat = parseFloat(loja.meta._latitude_loja.trim());\n        const lng = parseFloat(loja.meta._longitude_loja.trim());\n        const name = loja.title.rendered;\n        const distancia = loja.distancia.toFixed(2);\n        const content = loja.content.rendered;\n\n        \/\/ Cria o marcador no mapa\n        const marker = new google.maps.Marker({\n            position: { lat, lng },\n            map: map,\n            title: name,\n            icon: {\n                url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/red-dot.png\",\n                scaledSize: new google.maps.Size(30, 30),\n            }\n        });\n\n        \/\/ Guarda o marcador no array\n        markers.push(marker);\n\n        \/\/ Evento de clique no marcador para abrir a InfoWindow\n        marker.addListener('click', function() {\n            const infoContent = `\n                <div class=\"avisos-mapas\">\n                    <h3>${name}<\/h3>\n                    <p>${content}<\/p>\n                    <p class=\"link-mapa\"><a href=\"https:\/\/www.google.com\/maps?q=${lat},${lng}\" target=\"_blank\">Ver no Google Maps<\/a><\/p>\n                <\/div>\n            `;\n            infoWindow.setContent(infoContent);\n            infoWindow.open(map, marker);\n        });\n\n        \/\/ **Cria um item da lista para a loja**\n        const listItem = document.createElement('li');\n        listItem.innerHTML = `\n            <h6>${name}<\/h6>\n            <div style=\"margin-top: 5px; font-size: 14px;\">${content}<\/div>\n        `;\n\n        \/\/ **Adiciona evento para mudar o \u00edcone do marcador ao passar o mouse**\n        listItem.addEventListener('mouseover', () => {\n            marker.setIcon({\n                url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/green-dot.png\", \/\/ \u00cdcone verde quando o mouse est\u00e1 sobre a loja\n                scaledSize: new google.maps.Size(30, 30),\n            });\n        });\n\n        listItem.addEventListener('mouseout', () => {\n            marker.setIcon({\n                url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/red-dot.png\", \/\/ Volta ao \u00edcone vermelho quando o mouse sai\n                scaledSize: new google.maps.Size(30, 30),\n            });\n        });\n                \/\/ **Evento de clique no item da lista para selecionar marcador**\n        listItem.addEventListener('click', () => {\n            if (activeMarker) {\n                activeMarker.setIcon({\n                    url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/red-dot.png\", \/\/ Volta ao vermelho\n                    scaledSize: new google.maps.Size(30, 30),\n                });\n            }\n            \n            \/\/ Define o novo marcador ativo\n            activeMarker = marker;\n\n            \/\/ Muda o \u00edcone do marcador ativo para verde\n            marker.setIcon({\n                url: \"http:\/\/maps.google.com\/mapfiles\/ms\/icons\/green-dot.png\",\n                scaledSize: new google.maps.Size(30, 30),\n            });\n                        \/\/ Simula um clique no marcador para abrir a InfoWindow\n            google.maps.event.trigger(marker, 'click');\n        });\n\n        lojasLista.appendChild(listItem);\n    });\n}\n\n\n\n\/\/ Fun\u00e7\u00e3o para obter a localiza\u00e7\u00e3o do usu\u00e1rio e inicializar o mapa\nfunction getUserLocation() {\n    if (navigator.geolocation) {\n        navigator.geolocation.getCurrentPosition(function(position) {\n            const userLat = position.coords.latitude;\n            const userLng = position.coords.longitude;\n            initMap(userLat, userLng); \/\/ Inicializa o mapa com a localiza\u00e7\u00e3o do usu\u00e1rio\n        }, function() {\n            alert(\"N\u00e3o foi poss\u00edvel determinar sua localiza\u00e7\u00e3o. Exibindo mapa padr\u00e3o.\");\n            initMap(); \/\/ Exibe mapa padr\u00e3o em Lisboa\n        });\n    } else {\n        alert(\"Geolocaliza\u00e7\u00e3o n\u00e3o suportada neste navegador.\");\n        initMap(); \/\/ Exibe mapa padr\u00e3o em Lisboa\n    }\n}\n\n\/\/ Chama a fun\u00e7\u00e3o de geolocaliza\u00e7\u00e3o ao carregar a p\u00e1gina\ngetUserLocation();\n\n\/\/ Fun\u00e7\u00e3o para calcular a dist\u00e2ncia entre coordenadas\nfunction getDistance(lat1, lng1, lat2, lng2) {\n    const R = 6371; \/\/ Raio da Terra em km\n    const dLat = (lat2 - lat1) * Math.PI \/ 180;\n    const dLng = (lng2 - lng1) * Math.PI \/ 180;\n    const a = Math.sin(dLat \/ 2) * Math.sin(dLat \/ 2) +\n              Math.cos(lat1 * Math.PI \/ 180) * Math.cos(lat2 * Math.PI \/ 180) *\n              Math.sin(dLng \/ 2) * Math.sin(dLng \/ 2);\n    const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n    return R * c; \/\/ Dist\u00e2ncia em km\n}\n\n\n\n\ndocument.getElementById('form-morada').addEventListener('submit', function(e) {\n    e.preventDefault();\n\n    \/\/ Mostra o indicador de carregamento\n    document.getElementById('loading-indicator').style.display = 'block';\n    const lojasLista = document.getElementById('lojas-lista');\n    lojasLista.innerHTML = ''; \/\/ Limpa a lista de lojas enquanto est\u00e1 carregando\n\n    const morada = document.getElementById('morada').value;\n    const localidade = document.getElementById('localidade').value;\n    const codigo_postal = document.getElementById('codigo_postal').value;\n\nif (!morada && !localidade && !codigo_postal) {\n    alert(\"Por favor, preencha pelo menos um campo.\");\n    return;\n}\n\n\n\n    fetch(`https:\/\/maps.googleapis.com\/maps\/api\/geocode\/json?address=${encodeURIComponent(morada + ', ' + localidade + ', ' + codigo_postal)}&key=AIzaSyBeaP-cYhXxL7s4egQYHcRvq8pIHKhUaoI`)\n        .then(response => response.json())\n        .then(data => {\n            if (!data.results.length) {\n                alert(\"Endere\u00e7o n\u00e3o encontrado. Tente novamente!\");\n                \/\/ Oculta o indicador de carregamento em caso de erro\n                document.getElementById('loading-indicator').style.display = 'none';\n                return;\n            }\n\n            const location = data.results[0].geometry.location;\n            const userLat = location.lat;\n            const userLng = location.lng;\n\n            fetch('\/wp-json\/wp\/v2\/lojas')\n                .then(response => response.json())\n                .then(lojas => {\n                    console.log(lojas); \/\/ Verifique a resposta aqui\n                    if (!lojas.length) {\n                        alert(\"Nenhuma loja encontrada.\");\n                        \/\/ Oculta o indicador de carregamento em caso de erro\n                        document.getElementById('loading-indicator').style.display = 'none';\n                        return;\n                    }\n\n                    lojas.forEach(loja => {\n                        const lat = parseFloat(loja.meta._latitude_loja.trim());\n                        const lng = parseFloat(loja.meta._longitude_loja.trim());\n\n                        if (!isNaN(lat) && !isNaN(lng)) {\n                            console.log(`Loja: ${loja.title.rendered} - Latitude: ${lat}, Longitude: ${lng}`);\n                        } else {\n                            console.log(`Coordenadas inv\u00e1lidas para a loja: ${loja.title.rendered}`);\n                        }\n                    });\n\n                    updateMap(userLat, userLng, lojas); \/\/ Atualiza o mapa com as 10 lojas mais pr\u00f3ximas\n\n                    \/\/ Oculta o indicador de carregamento ap\u00f3s carregar os resultados\n                    document.getElementById('loading-indicator').style.display = 'none';\n                })\n                .catch(error => {\n                    console.error(\"Erro ao buscar as lojas:\", error);\n                    alert(\"Ocorreu um erro ao buscar as lojas.\");\n                    \/\/ Oculta o indicador de carregamento em caso de erro\n                    document.getElementById('loading-indicator').style.display = 'none';\n                });\n        })\n        .catch(error => {\n            console.error(\"Erro ao buscar a localiza\u00e7\u00e3o:\", error);\n            alert(\"Ocorreu um erro ao processar sua solicita\u00e7\u00e3o.\");\n            \/\/ Oculta o indicador de carregamento em caso de erro\n            document.getElementById('loading-indicator').style.display = 'none';\n        });\n});\n\n\n\/\/ Inicializa o mapa com a localiza\u00e7\u00e3o do usu\u00e1rio, caso ele permita\nfunction getUserLocation() {\n    if (navigator.geolocation) {\n        navigator.geolocation.getCurrentPosition(function(position) {\n            const userLat = position.coords.latitude;\n            const userLng = position.coords.longitude;\n            initMap(userLat, userLng);\n        }, function() {\n            alert(\"N\u00e3o foi poss\u00edvel determinar sua localiza\u00e7\u00e3o. Exibindo mapa padr\u00e3o.\");\n            initMap(); \/\/ Exibe mapa padr\u00e3o em Lisboa\n        });\n    } else {\n        alert(\"Geolocaliza\u00e7\u00e3o n\u00e3o suportada neste navegador.\");\n        initMap(); \/\/ Exibe mapa padr\u00e3o em Lisboa\n    }\n}\n\n\/\/ Chama a fun\u00e7\u00e3o de geolocaliza\u00e7\u00e3o ao carregar a p\u00e1gina\ngetUserLocation();\n<\/script>\n\n<script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyBeaP-cYhXxL7s4egQYHcRvq8pIHKhUaoI&callback=initMap\" async defer><\/script>\n\n[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[vc_row css_animation=\u00a0\u00bbfadeIn\u00a0\u00bb el_class=\u00a0\u00bbcontacto-local\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/2&Prime;][\/vc_column][vc_column width=\u00a0\u00bb1\/2&Prime; el_class=\u00a0\u00bbconteudo-contactos\u00a0\u00bb][vc_column_text] CIFIAL, S.A. Rua da Circunvala\u00e7\u00e3o, n\u00ba 210, Lugar da Abelheira 4520-461, Rio Me\u00e3o Portugal cifial@cifial.pt Tel.: +351 229 765 200 chamada para rede fixa nacional[\/vc_column_text][vc_column_text el_class=\u00a0\u00bbcontacto-bloco-2&Prime;] CIFIAL UK LTD. 7 Faraday Court, Park Farm Industrial Estate Wellingborough Northants, NN8 6XY Reino Unido sales@cifial.co.uk Tel.: +44 1933 402008 [\/vc_column_text][\/vc_column][\/vc_row][vc_row css_animation=\u00a0\u00bbfadeInUp\u00a0\u00bb][vc_column][vc_column_text][\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-943","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Contactos - Cifial<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cifial.pt\/fr\/contactos\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Contactos - Cifial\" \/>\n<meta property=\"og:description\" content=\"[vc_row css_animation=\u00a0\u00bbfadeIn\u00a0\u00bb el_class=\u00a0\u00bbcontacto-local\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/2&Prime;][\/vc_column][vc_column width=\u00a0\u00bb1\/2&Prime; el_class=\u00a0\u00bbconteudo-contactos\u00a0\u00bb][vc_column_text] CIFIAL, S.A. Rua da Circunvala\u00e7\u00e3o, n\u00ba 210, Lugar da Abelheira 4520-461, Rio Me\u00e3o Portugal cifial@cifial.pt Tel.: +351 229 765 200 chamada para rede fixa nacional[\/vc_column_text][vc_column_text el_class=\u00a0\u00bbcontacto-bloco-2&Prime;] CIFIAL UK LTD. 7 Faraday Court, Park Farm Industrial Estate Wellingborough Northants, NN8 6XY Reino Unido sales@cifial.co.uk Tel.: +44 1933 402008 [\/vc_column_text][\/vc_column][\/vc_row][vc_row css_animation=\u00a0\u00bbfadeInUp\u00a0\u00bb][vc_column][vc_column_text][\/vc_column_text][\/vc_column][\/vc_row]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cifial.pt\/fr\/contactos\/\" \/>\n<meta property=\"og:site_name\" content=\"Cifial\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Cifial.SA\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-30T10:14:11+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/fr\\\/contactos\\\/\",\"url\":\"https:\\\/\\\/www.cifial.pt\\\/fr\\\/contactos\\\/\",\"name\":\"Contactos - Cifial\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/#website\"},\"datePublished\":\"2025-02-05T16:55:08+00:00\",\"dateModified\":\"2026-03-30T10:14:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/fr\\\/contactos\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.cifial.pt\\\/fr\\\/contactos\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/fr\\\/contactos\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/www.cifial.pt\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contactos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/#website\",\"url\":\"https:\\\/\\\/www.cifial.pt\\\/\",\"name\":\"Cifial\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.cifial.pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/#organization\",\"name\":\"Cifial\",\"url\":\"https:\\\/\\\/www.cifial.pt\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.cifial.pt\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-logo_cifial_240x37.png\",\"contentUrl\":\"https:\\\/\\\/www.cifial.pt\\\/wp-content\\\/uploads\\\/2024\\\/12\\\/cropped-logo_cifial_240x37.png\",\"width\":150,\"height\":65,\"caption\":\"Cifial\"},\"image\":{\"@id\":\"https:\\\/\\\/www.cifial.pt\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Cifial.SA\\\/\",\"https:\\\/\\\/www.instagram.com\\\/cifial_sa\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/cifial\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Contactos - Cifial","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:\/\/www.cifial.pt\/fr\/contactos\/","og_locale":"fr_FR","og_type":"article","og_title":"Contactos - Cifial","og_description":"[vc_row css_animation=\u00a0\u00bbfadeIn\u00a0\u00bb el_class=\u00a0\u00bbcontacto-local\u00a0\u00bb][vc_column width=\u00a0\u00bb1\/2&Prime;][\/vc_column][vc_column width=\u00a0\u00bb1\/2&Prime; el_class=\u00a0\u00bbconteudo-contactos\u00a0\u00bb][vc_column_text] CIFIAL, S.A. Rua da Circunvala\u00e7\u00e3o, n\u00ba 210, Lugar da Abelheira 4520-461, Rio Me\u00e3o Portugal cifial@cifial.pt Tel.: +351 229 765 200 chamada para rede fixa nacional[\/vc_column_text][vc_column_text el_class=\u00a0\u00bbcontacto-bloco-2&Prime;] CIFIAL UK LTD. 7 Faraday Court, Park Farm Industrial Estate Wellingborough Northants, NN8 6XY Reino Unido sales@cifial.co.uk Tel.: +44 1933 402008 [\/vc_column_text][\/vc_column][\/vc_row][vc_row css_animation=\u00a0\u00bbfadeInUp\u00a0\u00bb][vc_column][vc_column_text][\/vc_column_text][\/vc_column][\/vc_row]","og_url":"https:\/\/www.cifial.pt\/fr\/contactos\/","og_site_name":"Cifial","article_publisher":"https:\/\/www.facebook.com\/Cifial.SA\/","article_modified_time":"2026-03-30T10:14:11+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.cifial.pt\/fr\/contactos\/","url":"https:\/\/www.cifial.pt\/fr\/contactos\/","name":"Contactos - Cifial","isPartOf":{"@id":"https:\/\/www.cifial.pt\/#website"},"datePublished":"2025-02-05T16:55:08+00:00","dateModified":"2026-03-30T10:14:11+00:00","breadcrumb":{"@id":"https:\/\/www.cifial.pt\/fr\/contactos\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cifial.pt\/fr\/contactos\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.cifial.pt\/fr\/contactos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/www.cifial.pt\/fr\/"},{"@type":"ListItem","position":2,"name":"Contactos"}]},{"@type":"WebSite","@id":"https:\/\/www.cifial.pt\/#website","url":"https:\/\/www.cifial.pt\/","name":"Cifial","description":"","publisher":{"@id":"https:\/\/www.cifial.pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cifial.pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.cifial.pt\/#organization","name":"Cifial","url":"https:\/\/www.cifial.pt\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cifial.pt\/#\/schema\/logo\/image\/","url":"https:\/\/www.cifial.pt\/wp-content\/uploads\/2024\/12\/cropped-logo_cifial_240x37.png","contentUrl":"https:\/\/www.cifial.pt\/wp-content\/uploads\/2024\/12\/cropped-logo_cifial_240x37.png","width":150,"height":65,"caption":"Cifial"},"image":{"@id":"https:\/\/www.cifial.pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Cifial.SA\/","https:\/\/www.instagram.com\/cifial_sa\/","https:\/\/www.linkedin.com\/company\/cifial\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/pages\/943","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/comments?post=943"}],"version-history":[{"count":2,"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/pages\/943\/revisions"}],"predecessor-version":[{"id":41921,"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/pages\/943\/revisions\/41921"}],"wp:attachment":[{"href":"https:\/\/www.cifial.pt\/fr\/wp-json\/wp\/v2\/media?parent=943"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}