{"id":3080,"date":"2025-02-23T17:16:19","date_gmt":"2025-02-23T17:16:19","guid":{"rendered":"https:\/\/www.weidmannfibertechnology.com\/our-story\/weidmann-locations\/"},"modified":"2026-06-08T12:57:46","modified_gmt":"2026-06-08T12:57:46","slug":"unsere-standorte","status":"publish","type":"page","link":"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/","title":{"rendered":"Unsere Standorte"},"content":{"rendered":"\n\n<div class=\"small-hero \">\n\n            <img decoding=\"async\" class=\"small-hero-image\"\n             src=\"https:\/\/www.weidmannfibertechnology.com\/wp-content\/uploads\/sites\/4\/2025\/03\/image-142-scaled.avif\"\n             alt=\"\"\n             style=\"object-position: % %; object-fit: cover;\">\n        <div class=\"small-hero-wrapper\">\n                            \n\n<h1 class=\"wp-block-heading has-weidmann-white-base-color has-text-color has-link-color wp-elements-00d76683e48596bab5f5665850c350f4\">Unsere Standorte<\/h1>\n\n\n                    <\/div>\n\n    \n<\/div>\n\n    <div class=\"sub-navigation is-overlapped\">\n        <ul class=\"sub-navigation-menu\">\n                            <li class=\"sub-navigation-menu-item \">\n                                                                <a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/karriere\/\">\n                            Karriere                        <\/a>\n                                    <\/li>\n                            <li class=\"sub-navigation-menu-item current-page-item\">\n                                                                <a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/\">\n                            <span>Unsere Standorte<\/span>\n                        <\/a>\n                                    <\/li>\n                            <li class=\"sub-navigation-menu-item \">\n                                                                <a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unser-team\/\">\n                            Unser Team                        <\/a>\n                                    <\/li>\n                            <li class=\"sub-navigation-menu-item \">\n                                                                <a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/partnerschaft-mit-weidmann\/\">\n                            Partnerschaft mit Weidmann                        <\/a>\n                                    <\/li>\n                            <li class=\"sub-navigation-menu-item \">\n                                                                <a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/nachhaltigkeit\/\">\n                            Nachhaltigkeit                        <\/a>\n                                    <\/li>\n                    <\/ul>\n    <\/div>\n\n<section class=\"wp-block-cite-wordpress-theme-section has-overlapping-decoration-none has-0-padding-y-top has-4-padding-y-bottom\"><div class=\"theme-section-inner container\"><div class=\"yoast-breadcrumbs\"><span><a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"11\" height=\"10\" viewBox=\"0 0 11 10\" fill=\"none\">\n<path d=\"M10.9971 4.98926C10.9971 5.34075 10.7106 5.61609 10.3859 5.61609H9.77459L9.78797 8.74439C9.78797 8.79711 9.78415 8.84983 9.77841 8.90256V9.2189C9.77841 9.65046 9.43649 10 9.01433 10H8.70869C8.68768 10 8.66667 10 8.64565 9.99805C8.61891 10 8.59217 10 8.56542 10L7.9446 9.99805H7.48615C7.06399 9.99805 6.72206 9.64851 6.72206 9.21695V7.49854C6.72206 7.1529 6.4489 6.87366 6.11079 6.87366H4.88825C4.55014 6.87366 4.27698 7.1529 4.27698 7.49854V9.21695C4.27698 9.64851 3.93505 9.99805 3.51289 9.99805H2.44508C2.41643 9.99805 2.38777 9.99609 2.35912 9.99414C2.3362 9.99609 2.31328 9.99805 2.29035 9.99805H1.98472C1.56256 9.99805 1.22063 9.64851 1.22063 9.21695V7.02988C1.22063 7.0123 1.22063 6.99278 1.22254 6.9752V5.61414H0.61127C0.267431 5.61414 0 5.34075 0 4.98731C0 4.81156 0.0573066 4.65534 0.191022 4.51865L5.08692 0.156219C5.22063 0.0195274 5.37345 0 5.50716 0C5.64088 0 5.7937 0.0390549 5.90831 0.136692L10.787 4.5206C10.9398 4.65729 11.0162 4.81351 10.9971 4.98926Z\" fill=\"#DF3011\"\/>\n<\/svg><\/a> > <span><a href=\"https:\/\/www.weidmannfibertechnology.com\/de\/our-story\/\">Unsere Geschichte<\/a><\/span> > <span class=\"breadcrumb_last\" aria-current=\"page\">Unsere Standorte<\/span><\/span><\/div><\/div><\/section>\n\n    <div id=\"map\" style=\"height: 735px;\"><\/div>\n    <template id=\"map-user-location-prompt-container\">\n        <div class=\"map-user-location-disclaimer\" role=\"status\" aria-live=\"polite\">\n            <svg class=\"map-user-location-disclaimer__icon\" width=\"22\" height=\"29\" viewBox=\"0 0 50 66.667\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n                <path d=\"M22.431,65.322C3.512,37.895,0,35.08,0,25a25,25,0,1,1,50,0c0,10.08-3.512,12.895-22.431,40.322A3.126,3.126,0,0,1,22.431,65.322ZM25,35.417A10.417,10.417,0,1,0,14.583,25,10.417,10.417,0,0,0,25,35.417Z\" fill=\"currentColor\"\/>\n            <\/svg>\n            <span>Show my nearest Weidmann location<\/span>\n            <button type=\"button\" class=\"map-user-location-disclaimer__cta\" data-locate-trigger>\n                Show Me            <\/button>\n            <button type=\"button\" class=\"map-user-location-disclaimer__close\" aria-label=\"Dismiss\">\n                <img src=\"https:\/\/www.weidmannfibertechnology.com\/wp-content\/themes\/weidmann-network\/3-weidmann-fiber\/resources\/assets\/dist\/img\/search-modal-close-icon.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\" decoding=\"async\" aria-hidden=\"true\">\n            <\/button>\n        <\/div>\n    <\/template>\n    <template id=\"map-user-location-disclaimer-container\">\n        <div class=\"map-user-location-disclaimer\" role=\"status\" aria-live=\"polite\">\n            <svg class=\"map-user-location-disclaimer__icon\" width=\"22\" height=\"29\" viewBox=\"0 0 50 66.667\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\">\n                <path d=\"M22.431,65.322C3.512,37.895,0,35.08,0,25a25,25,0,1,1,50,0c0,10.08-3.512,12.895-22.431,40.322A3.126,3.126,0,0,1,22.431,65.322ZM25,35.417A10.417,10.417,0,1,0,14.583,25,10.417,10.417,0,0,0,25,35.417Z\" fill=\"currentColor\"\/>\n            <\/svg>\n            <span>Showing your nearest Weidmann location. Zoom out to view all Worldwide.<\/span>\n            <button type=\"button\" class=\"map-user-location-disclaimer__close\" aria-label=\"Dismiss\">\n                <img src=\"https:\/\/www.weidmannfibertechnology.com\/wp-content\/themes\/weidmann-network\/3-weidmann-fiber\/resources\/assets\/dist\/img\/search-modal-close-icon.svg\" alt=\"\" width=\"14\" height=\"14\" loading=\"eager\" decoding=\"async\" aria-hidden=\"true\">\n            <\/button>\n        <\/div>\n    <\/template>\n    <div id=\"map-legend\">\n        <div class=\"legend-item\">\n            <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <circle cx=\"9\" cy=\"9.3125\" r=\"5\" fill=\"#DF3011\"\/>\n                <circle cx=\"9\" cy=\"9.3125\" r=\"8.5\" stroke=\"#DF3011\"\/>\n            <\/svg>\n            <span>Electrical<\/span>\n        <\/div>\n        <div class=\"legend-item\">\n            <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <circle cx=\"9\" cy=\"9.3125\" r=\"5\" fill=\"#005A8B\"\/>\n                <circle cx=\"9\" cy=\"9.3125\" r=\"8.5\" stroke=\"#005A8B\"\/>\n            <\/svg>\n            <span>Medical<\/span>\n        <\/div>\n        <div class=\"legend-item\">\n            <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <circle cx=\"9\" cy=\"9.3125\" r=\"5\" fill=\"#5F7461\"\/>\n                <circle cx=\"9\" cy=\"9.3125\" r=\"8.5\" stroke=\"#5F7461\"\/>\n            <\/svg>\n            <span>Fiber<\/span>\n        <\/div>\n    <\/div>\n\n    <script>\n        const USER_PIN_COLOR = '#5F7461';\n\n        function initMap() {\n            const minZoom = 3;\n            const maxZoom = 13;\n\n            const map = new google.maps.Map(document.getElementById('map'), {\n                minZoom: minZoom,\n                maxZoom: maxZoom,\n                zoom: 3,\n                center: { lat: 30.0000, lng: -1.5000 },\n                mapTypeControl: false,\n                streetViewControl: false,\n                fullscreenControl: false,\n                styles: [\n                    {\n                        \"featureType\": \"water\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#e9e9e9\"\n                            },\n                            {\n                                \"lightness\": 17\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"landscape\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#f5f5f5\"\n                            },\n                            {\n                                \"lightness\": 20\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"road.highway\",\n                        \"elementType\": \"geometry.fill\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#ffffff\"\n                            },\n                            {\n                                \"lightness\": 17\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"road.highway\",\n                        \"elementType\": \"geometry.stroke\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#ffffff\"\n                            },\n                            {\n                                \"lightness\": 29\n                            },\n                            {\n                                \"weight\": 0.2\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"road.arterial\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#ffffff\"\n                            },\n                            {\n                                \"lightness\": 18\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"road.local\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#ffffff\"\n                            },\n                            {\n                                \"lightness\": 16\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"poi\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#f5f5f5\"\n                            },\n                            {\n                                \"lightness\": 21\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"poi.park\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#dedede\"\n                            },\n                            {\n                                \"lightness\": 21\n                            }\n                        ]\n                    },\n                    {\n                        \"elementType\": \"labels.text.stroke\",\n                        \"stylers\": [\n                            {\n                                \"visibility\": \"on\"\n                            },\n                            {\n                                \"color\": \"#ffffff\"\n                            },\n                            {\n                                \"lightness\": 16\n                            }\n                        ]\n                    },\n                    {\n                        \"elementType\": \"labels.text.fill\",\n                        \"stylers\": [\n                            {\n                                \"saturation\": 36\n                            },\n                            {\n                                \"color\": \"#333333\"\n                            },\n                            {\n                                \"lightness\": 40\n                            }\n                        ]\n                    },\n                    {\n                        \"elementType\": \"labels\",\n                        \"stylers\": [\n                            {\n                                \"visibility\": \"off\"\n                            }\n                        ]\n                    },\n                    {\n                        \"elementType\": \"labels.icon\",\n                        \"stylers\": [\n                            {\n                                \"visibility\": \"off\"\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"transit\",\n                        \"elementType\": \"geometry\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#f2f2f2\"\n                            },\n                            {\n                                \"lightness\": 19\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"administrative\",\n                        \"elementType\": \"geometry.fill\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#fefefe\"\n                            },\n                            {\n                                \"lightness\": 20\n                            }\n                        ]\n                    },\n                    {\n                        \"featureType\": \"administrative\",\n                        \"elementType\": \"geometry.stroke\",\n                        \"stylers\": [\n                            {\n                                \"color\": \"#fefefe\"\n                            },\n                            {\n                                \"lightness\": 17\n                            },\n                            {\n                                \"weight\": 1.2\n                            }\n                        ]\n                    }\n                ]\n            });\n\n            const locations = [{\"marker_label\":\"Malyn, Ukraine\",\"address\":\"66 Prykhodka st.  Malyn, Zhytomyr region 11602 Ukraine\",\"telephone_number\":\"+380 4133 67269\",\"copy\":\"<p>Weidmann Malyn Paper Mill<\\\/p>\\n\",\"directions_link\":\"\",\"image\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/05\\\/Weidmann-not-pulp-fiction-sustainability.avif\",\"categories\":[\"electrical\",\"fiber\"],\"primary_category\":\"fiber\",\"lat\":50.7620602,\"lng\":29.2287431},{\"marker_label\":\"Urbana, USA\",\"address\":\"700 W Court St, Urbana, OH 43078, United States\",\"telephone_number\":\"+1 937 652 1220\",\"copy\":\"<p>Weidmann Electrical Technology Inc.<\\\/p>\\n\",\"directions_link\":\"\",\"image\":\"\",\"categories\":[\"electrical\",\"fiber\"],\"primary_category\":\"fiber\",\"lat\":40.110137,\"lng\":-83.76186299999999},{\"marker_label\":\"St Johnsbury, USA\",\"address\":\"137 Gordon Mills Way, St Johnsbury, VT 05819, United States\",\"telephone_number\":\"+1 802 748 8106\",\"copy\":\"<p>Weidmann Electrical Technology Inc.<\\\/p>\\n\",\"directions_link\":\"\",\"image\":\"\",\"categories\":[\"electrical\",\"medical\",\"fiber\"],\"primary_category\":\"fiber\",\"lat\":44.4838099,\"lng\":-72.0157011},{\"marker_label\":\"Rapperswil, Switzerland\",\"address\":\"Weidmann Holding AG Neue Jonastrasse 60 8640 Rapperswil Switzerland\",\"telephone_number\":\"+41 55 221 41 11 \",\"copy\":\"<p>Weidmann Fiber Technology AG<\\\/p>\\n\",\"directions_link\":\"\",\"image\":\"\",\"categories\":[\"electrical\",\"medical\",\"fiber\"],\"primary_category\":\"fiber\",\"lat\":47.2266629,\"lng\":8.8255935},{\"marker_label\":\"Pool-in-Wharfedale, UK\",\"address\":\"Pool Rd, Pool in Wharfedale, Otley LS21 1RP\",\"telephone_number\":\"+44 113 202 7000\",\"copy\":\"<p>Weidmann Whiteley Limited<\\\/p>\\n\",\"directions_link\":{\"title\":\"\",\"url\":\"#\",\"target\":\"\"},\"image\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/01\\\/1-Weidmann-Whiteley-aerial-view-scaled-1.avif\",\"categories\":[\"electrical\",\"fiber\"],\"primary_category\":\"fiber\",\"lat\":53.9048599,\"lng\":-1.6413779}];\n            const markers = [];\n\n            let openedInfoWindow = null\n\n            locations.forEach((location) => {\n                let fillColor, strokeColor;\n                const primaryCategory = location.primary_category ? location.primary_category.toLowerCase() : null;\n                switch (primaryCategory) {\n                    case 'electrical':\n                        fillColor = \"#DF3011\";\n                        strokeColor = \"#DF3011\";\n                        break;\n                    case 'medical':\n                        fillColor = \"#005A8B\";\n                        strokeColor = \"#005A8B\";\n                        break;\n                    case 'fiber':\n                        fillColor = \"#5F7461\";\n                        strokeColor = \"#5F7461\";\n                        break;\n                    default:\n                        fillColor = \"#DF3011\";\n                        strokeColor = \"#DF3011\";\n                }\n\n                const markerIcon = {\n                    url: \"data:image\/svg+xml;charset=UTF-8,\" + encodeURIComponent(`\n                <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <circle cx=\"9\" cy=\"9.3125\" r=\"5\" fill=\"${fillColor}\"\/>\n                    <circle cx=\"9\" cy=\"9.3125\" r=\"8.5\" stroke=\"${strokeColor}\"\/>\n                <\/svg>\n            `),\n                    labelOrigin: new google.maps.Point(9, -10)\n                };\n\n                const marker = new google.maps.Marker({\n                    position: {lat: parseFloat(location.lat), lng: parseFloat(location.lng)},\n                    map: map,\n                    icon: markerIcon,\n                    title: location.marker_label,\n                });\n\n                marker.setLabel({\n                    text: marker.getTitle(),\n                    color: \"#000000\",\n                    fontSize: \"12px\",\n                    fontWeight: \"bold\"\n                });\n\n                const infoWindow = new google.maps.InfoWindow({\n                    content: `\n                <div style=\"max-width: 1170px; width: 100%;\" class=\"info-window\">\n                   <div class=\"info-window-image\"> ${location.image ?\n                        `<img decoding=\"async\" src=\"${location.image}\" alt=\"${location.title}\" style=\"max-width: 100%; height: auto;\" \/>` : ''}\n                   <\/div>\n                   <div class=\"info-window-content\">\n                     <div class=\"categories\">\n                       ${location.categories && location.categories.length > 0\n                        ? location.categories.map(category => {\n                            return `<span class=\"is-${category}\">\n                                ${category}\n                            <\/span>`;\n                        }).join('')\n                        : ''\n                    }\n                     <\/div>\n                     <div class=\"modal-address\">${location.address}<\/div>\n                     <a class=\"modal-telephone-number\" href=\"tel:${location.telephone_number}\">${location.telephone_number}<\/a>\n                     <div class=\"modal-copy\">${location.copy}<\/div>\n                     <div class=\"wp-block-weidmann-link-container modal-directions-link\">\n                       <div class=\"wp-block-weidmann-link\">\n                         <a href=\"https:\/\/www.google.com\/maps\/dir\/?api=1&#038;destination=${location.lat},${location.lng}\"\n                         class=\"wp-block-link-target\" target=\"_blank\">Route anzeigen<\/a>\n                           <svg width=\"26\" height=\"16\" viewBox=\"0 0 26 16\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                              <path d=\"M1 7C0.447715 7 4.82823e-08 7.44772 0 8C-4.82823e-08 8.55228 0.447715 9 1 9L1 7ZM25.7071 8.70711C26.0976 8.31658 26.0976 7.68342 25.7071 7.2929L19.3431 0.928934C18.9526 0.538409 18.3195 0.538409 17.9289 0.928934C17.5384 1.31946 17.5384 1.95262 17.9289 2.34315L23.5858 8L17.9289 13.6569C17.5384 14.0474 17.5384 14.6805 17.9289 15.0711C18.3195 15.4616 18.9526 15.4616 19.3431 15.0711L25.7071 8.70711ZM1 9L25 9L25 7L1 7L1 9Z\"\n                               fill=\"none\"\/>\n                           <\/svg>\n                        <\/div>\n                      <\/div>\n                   <\/div>\n                <\/div>\n            `,\n                });\n\n                marker.addListener('click', () => {\n                    if(openedInfoWindow) {\n                        openedInfoWindow.close()\n                    }\n\n                    infoWindow.open(map, marker);\n                    openedInfoWindow = infoWindow\n                });\n\n                markers.push(marker);\n            });\n\n            new markerClusterer.MarkerClusterer({\n                map: map,\n                markers: markers,\n                renderer: {\n                    render: ({count, position}) => {\n                        const color = '#DF3011';\n                        const size = count > 50 ? 60 : count > 20 ? 50 : 40;\n                        return new google.maps.Marker({\n                            position,\n                            icon: {\n                                url: `data:image\/svg+xml;charset=UTF-8,` + encodeURIComponent(`\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 44 44\">\n                                <circle cx=\"22\" cy=\"22\" r=\"20\" fill=\"${color}\" \/>\n                                <text x=\"22\" y=\"25\" text-anchor=\"middle\" font-family=\"Arial\" font-size=\"12\" font-weight=\"bold\" fill=\"#FFFFFF\">${count}<\/text>\n                            <\/svg>\n                        `),\n                                scaledSize: new google.maps.Size(size, size),\n                            }\n                        });\n                    }\n                },\n            });\n\n            const isCroatiaPage = !!document.querySelector('.croatia-page-map');\n\n            \/\/ Croatia page: fixed zoom on Samobor, no geolocation.\n            if (isCroatiaPage) {\n                const samoborCenter = { lat: 45.833471839515305, lng: 15.779966691328267 };\n                map.setCenter(samoborCenter);\n                map.setZoom(12);\n                return;\n            }\n\n            const applyDefaultState = () => {};\n\n            tryGeolocate(map, markers, applyDefaultState);\n        }\n\n        function tryGeolocate(map, markers, applyDefaultState) {\n            if (!('geolocation' in navigator)) {\n                applyDefaultState();\n                return;\n            }\n\n            const locate = () => {\n                navigator.geolocation.getCurrentPosition(\n                    (position) => showUserLocation(map, markers, position),\n                    () => applyDefaultState(),\n                    { timeout: 8000, maximumAge: 5 * 60 * 1000 }\n                );\n            };\n\n            const showPromptBanner = () => {\n                const tmpl = document.getElementById('map-user-location-prompt-container');\n                if (!tmpl || !tmpl.content) {\n                    applyDefaultState();\n                    return;\n                }\n\n                const node = tmpl.content.firstElementChild.cloneNode(true);\n                node.style.color = USER_PIN_COLOR;\n\n                const showMeBtn = node.querySelector('[data-locate-trigger]');\n                if (showMeBtn) {\n                    showMeBtn.addEventListener('click', () => {\n                        node.remove();\n                        locate();\n                    });\n                }\n\n                const closeBtn = node.querySelector('.map-user-location-disclaimer__close');\n                if (closeBtn) {\n                    closeBtn.addEventListener('click', () => {\n                        node.remove();\n                        applyDefaultState();\n                    });\n                }\n\n                map.controls[google.maps.ControlPosition.TOP_LEFT].push(node);\n            };\n\n            if (navigator.permissions && navigator.permissions.query) {\n                navigator.permissions.query({ name: 'geolocation' })\n                    .then((status) => {\n                        if (status.state === 'denied') {\n                            applyDefaultState();\n                        } else if (status.state === 'granted') {\n                            locate();\n                        } else {\n                            showPromptBanner();\n                        }\n                    })\n                    .catch(() => showPromptBanner());\n            } else {\n                showPromptBanner();\n            }\n        }\n\n        function showUserLocation(map, markers, position) {\n            const userLatLng = new google.maps.LatLng(\n                position.coords.latitude,\n                position.coords.longitude\n            );\n\n            \/\/ Based on \/resources\/assets\/src\/img\/map-marker.svg, recoloured with the\n            \/\/ current site's brand colour so it matches the rest of the site.\n            const userPinSvg = `\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"50\" height=\"66.667\" viewBox=\"0 0 50 66.667\">\n                    <path d=\"M22.431,65.322C3.512,37.895,0,35.08,0,25a25,25,0,1,1,50,0c0,10.08-3.512,12.895-22.431,40.322A3.126,3.126,0,0,1,22.431,65.322ZM25,35.417A10.417,10.417,0,1,0,14.583,25,10.417,10.417,0,0,0,25,35.417Z\" fill=\"${USER_PIN_COLOR}\"\/>\n                <\/svg>\n            `;\n\n            const userMarker = new google.maps.Marker({\n                position: userLatLng,\n                map: map,\n                title: 'Your location',\n                icon: {\n                    url: 'data:image\/svg+xml;charset=UTF-8,' + encodeURIComponent(userPinSvg),\n                    \/\/ Proportional to the source SVG (50 x 66.667) so it reads as a pin\n                    \/\/ but isn't oversized next to the circular location markers.\n                    scaledSize: new google.maps.Size(24, 32),\n                    \/\/ Anchor at the pin's tip so it points exactly at the coordinate.\n                    anchor: new google.maps.Point(12, 32),\n                    \/\/ Place the label just above the top of the pin.\n                    labelOrigin: new google.maps.Point(12, -10)\n                },\n                zIndex: 9999\n            });\n\n            \/\/ Matches the style used by location markers above.\n            userMarker.setLabel({\n                text: 'You',\n                color: \"#000000\",\n                fontSize: \"12px\",\n                fontWeight: \"bold\"\n            });\n\n            showUserLocationDisclaimer(map);\n\n            const nearest = findNearestMarker(userLatLng, markers);\n            if (!nearest) {\n                map.setCenter(userLatLng);\n                return;\n            }\n\n            const bounds = new google.maps.LatLngBounds();\n            bounds.extend(userLatLng);\n            bounds.extend(nearest.getPosition());\n            map.fitBounds(bounds, 80);\n        }\n\n        function showUserLocationDisclaimer(map) {\n            const tmpl = document.getElementById('map-user-location-disclaimer-container');\n            if (!tmpl || !tmpl.content) return;\n\n            const node = tmpl.content.firstElementChild.cloneNode(true);\n            \/\/ Tint the icon the same brand colour as the user pin via `currentColor`.\n            node.style.color = USER_PIN_COLOR;\n\n            const closeBtn = node.querySelector('.map-user-location-disclaimer__close');\n            if (closeBtn) {\n                closeBtn.addEventListener('click', () => {\n                    node.remove();\n                });\n            }\n\n            map.controls[google.maps.ControlPosition.TOP_LEFT].push(node);\n        }\n\n        function findNearestMarker(userLatLng, markers) {\n            let best = null;\n            let bestDist = Infinity;\n            for (const marker of markers) {\n                const d = (google.maps.geometry && google.maps.geometry.spherical)\n                    ? google.maps.geometry.spherical.computeDistanceBetween(userLatLng, marker.getPosition())\n                    : haversineDistance(userLatLng, marker.getPosition());\n                if (d < bestDist) {\n                    bestDist = d;\n                    best = marker;\n                }\n            }\n            return best;\n        }\n\n        function haversineDistance(a, b) {\n            const toRad = (x) => x * Math.PI \/ 180;\n            const R = 6371000; \/\/ metres\n            const dLat = toRad(b.lat() - a.lat());\n            const dLng = toRad(b.lng() - a.lng());\n            const lat1 = toRad(a.lat());\n            const lat2 = toRad(b.lat());\n            const h = Math.sin(dLat \/ 2) ** 2 + Math.sin(dLng \/ 2) ** 2 * Math.cos(lat1) * Math.cos(lat2);\n            return 2 * R * Math.asin(Math.sqrt(h));\n        }\n\n        document.addEventListener('DOMContentLoaded', () => {\n            const initMapWhenReady = () => {\n                if (typeof google === 'undefined' || typeof google.maps === 'undefined') {\n                    setTimeout(initMapWhenReady, 100);\n                } else {\n                    initMap();\n                }\n            };\n            initMapWhenReady();\n        });\n    <\/script>\n\n    <script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyCNwLQurl5aG5l3ycakwXEs0kMAIX_ieUg&#038;callback=initMap\"\n            async defer><\/script>\n    <script src=\"https:\/\/unpkg.com\/@googlemaps\/markerclusterer\/dist\/index.min.js\"><\/script>\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":7,"featured_media":0,"parent":3073,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-3080","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Unsere Standorte - Weidmann Fiber Technology<\/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.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Unsere Standorte - Weidmann Fiber Technology\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/\" \/>\n<meta property=\"og:site_name\" content=\"Weidmann Fiber Technology\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-08T12:57:46+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\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.weidmannfibertechnology.com\\\/de\\\/unsere-geschichte\\\/unsere-standorte\\\/\",\"url\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/unsere-geschichte\\\/unsere-standorte\\\/\",\"name\":\"Unsere Standorte - Weidmann Fiber Technology\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/#website\"},\"datePublished\":\"2025-02-23T17:16:19+00:00\",\"dateModified\":\"2026-06-08T12:57:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/unsere-geschichte\\\/unsere-standorte\\\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/unsere-geschichte\\\/unsere-standorte\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/unsere-geschichte\\\/unsere-standorte\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Unsere Geschichte\",\"item\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/our-story\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Unsere Standorte\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/\",\"name\":\"Weidmann Fiber Technology\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.weidmannfibertechnology.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de-DE\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Unsere Standorte - Weidmann Fiber Technology","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.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/","og_locale":"de_DE","og_type":"article","og_title":"Unsere Standorte - Weidmann Fiber Technology","og_url":"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/","og_site_name":"Weidmann Fiber Technology","article_modified_time":"2026-06-08T12:57:46+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 Minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/","url":"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/","name":"Unsere Standorte - Weidmann Fiber Technology","isPartOf":{"@id":"https:\/\/www.weidmannfibertechnology.com\/de\/#website"},"datePublished":"2025-02-23T17:16:19+00:00","dateModified":"2026-06-08T12:57:46+00:00","breadcrumb":{"@id":"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.weidmannfibertechnology.com\/de\/unsere-geschichte\/unsere-standorte\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.weidmannfibertechnology.com\/de\/"},{"@type":"ListItem","position":2,"name":"Unsere Geschichte","item":"https:\/\/www.weidmannfibertechnology.com\/de\/our-story\/"},{"@type":"ListItem","position":3,"name":"Unsere Standorte"}]},{"@type":"WebSite","@id":"https:\/\/www.weidmannfibertechnology.com\/de\/#website","url":"https:\/\/www.weidmannfibertechnology.com\/de\/","name":"Weidmann Fiber Technology","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.weidmannfibertechnology.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de-DE"}]}},"_links":{"self":[{"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/pages\/3080","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/comments?post=3080"}],"version-history":[{"count":1,"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/pages\/3080\/revisions"}],"predecessor-version":[{"id":8168,"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/pages\/3080\/revisions\/8168"}],"up":[{"embeddable":true,"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/pages\/3073"}],"wp:attachment":[{"href":"https:\/\/www.weidmannfibertechnology.com\/de\/wp-json\/wp\/v2\/media?parent=3080"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}