{"id":2981,"date":"2025-03-21T10:04:30","date_gmt":"2025-03-21T09:04:30","guid":{"rendered":"https:\/\/informatoo.com\/?page_id=2981"},"modified":"2025-03-27T09:49:17","modified_gmt":"2025-03-27T08:49:17","slug":"test-solidara_map","status":"publish","type":"page","link":"https:\/\/informatoo.com\/en\/test-solidara_map\/","title":{"rendered":"Test Solidara_map"},"content":{"rendered":"\n[solidara_debug]\n    <div id=\"solidara-map\" style=\"width: 95%; height: 500px\"><\/div>\n    <script src=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js\"><\/script>    <link rel=\"stylesheet\" href=\"https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.css\">\n    <link rel=\"stylesheet\" href=\"https:\/\/informatoo.com\/wp-content\/plugins\/solidara-map\/solidara-map.css\">\n    <link rel=\"stylesheet\" href=\"https:\/\/informatoo.com\/wp-content\/plugins\/solidara-map\/fontawesome\/css\/all.min.css\">\n\n    <script>\n    document.addEventListener(\"DOMContentLoaded\", function () {\n        const mapEl = document.getElementById(\"solidara-map\");\n        if (!mapEl) return;\n\n        const geojsonData = null;\n        const lat = null;\n        const lon = null;\n        const zoom = 0;\n        const height = '';\n        if (height) {\n            document.getElementById(\"solidara-map\").style.height = height;\n        }\n        const map = L.map(\"solidara-map\");\n        L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n            attribution: '&copy; Solidara Digital Services EOOD | v5.40'\n        }).addTo(map);\n\n        if (zoom > 0 && lat && lon) {\n            map.setView([lat, lon], zoom);\n        } else if (geojsonData) {\n            const geojsonLayer = L.geoJSON(geojsonData);\n            geojsonLayer.addTo(map);\n            map.fitBounds(geojsonLayer.getBounds());\n        }\n\n        function addTextLabel(latlng, text, color = 'black', background = 'white', size = '14px') {\n            const label = L.divIcon({\n                className: 'custom-text-label',\n                html: `<span style=\"text-align:center; background: ${background}; color:${color}; font-size:${size}; white-space:nowrap;\">${text}<\/span>`\n            });\n            L.marker(latlng, { icon: label }).addTo(map);\n        }\n\n        function addCombinedMarker(latlng, markerUrl, faClass, draggable = false) {\n            if (!markerUrl.startsWith(\"http\")) {\n                markerUrl = \"\/wp-content\/plugins\/solidara-map\/marker\/free-map-marker-icon-\" + markerUrl;\n            }\n\n            const icon = L.divIcon({\n                className: 'custom-div-icon',\n                html: `\n                    <div style=\"position: relative; width: 78px; height: 78px;\">\n                        <img decoding=\"async\" src=\"${markerUrl}\" style=\"width: 78px; height: 78px; z-index:200;\">\n                        <i class=\"${faClass}\" style=\"position: absolute; top: 15px; font-size: 24px; color: black; z-index:201;\"><\/i>\n                    <\/div>`,\n                iconSize: [78, 78],\n                iconAnchor: [39, 78]\n            });\n\n            const marker = L.marker(latlng, { icon: icon, draggable: draggable }).addTo(map);\n\n            function updatePopup() {\n                const pos = marker.getLatLng();\n                const text = marker.popupContent || 'Position anzeigen';\n                const popupHtml = `<a href=\"#\" onclick=\"saveCoords(${pos.lat}, ${pos.lng})\">${text}<\/a>`;\n                marker.bindPopup(popupHtml);\n            }\n\n            updatePopup();\n\n            marker.on('dragend', function () {\n                updatePopup();\n                marker.openPopup();\n            });\n\n            return marker;\n        }\n\n        function addMarker(latlng, markerUrl, draggable = false) {\n            if (!markerUrl.startsWith(\"http\")) markerUrl = \"\/wp-content\/plugins\/solidara-map\/marker\/free-map-marker-icon-\" + markerUrl;\n            const icon = L.icon({\n                iconUrl: markerUrl,\n                iconSize: [78, 78],\n                iconAnchor: [39, 78]\n            });\n            const marker = L.marker(latlng, { icon: icon, draggable: draggable }).addTo(map);\n            marker.on('dragend', function () {\n                const pos = marker.getLatLng();\n                console.log(pos.lat, pos.lng);\n            });\n            return marker;\n        }\n\n        function addEmoji(latlng, emoji, top, draggable = false) {\n            const emojiIcon = L.divIcon({\n                className: 'custom-div-icon',\n                html: `<div style=\"font-size:28px; line-height:1; text-align:center; width:100%; position:relative; top:${top};\">${emoji}<\/div>`,\n                iconSize: [78, 78],\n                iconAnchor: [39, 78]\n            });\n            return L.marker(latlng, { icon: emojiIcon, draggable: draggable }).addTo(map);\n        }\n\n        function addFaIcon(latlng, faClass, top, color = '#000', draggable = false) {\n            const icon = L.divIcon({\n                className: 'custom-div-icon',\n                html: `<i class=\"${faClass}\" style=\"font-size:24px; top:${top}; color:${color};\"><\/i>`,\n                iconSize: [78, 78],\n                iconAnchor: [39, 78]\n            });\n            return L.marker(latlng, { icon: icon, draggable: draggable }).addTo(map);\n        }\n\n        function addImage(latlng, url, top, draggable = false) {\n            if (!url.startsWith(\"http\")) url = \"https:\/\/informatoo.com\/images\/\" + url;\n            const imageIcon = L.divIcon({\n                className: 'custom-div-icon',\n                html: `<img decoding=\"async\" src=\"${url}\" style=\"width:40px; height:40px; position:relative; left:21px; top:${top}; border-radius:50%;\">`,\n                iconSize: [78, 78],\n                iconAnchor: [39, 78]\n            });\n            return L.marker(latlng, { icon: imageIcon, draggable: draggable }).addTo(map);\n        }\n\n        function addPolygon(latlngs, options = {}) {\n            const color = options.color || 'blue';\n            const fillColor = options.fillColor || 'lightblue';\n            const fillOpacity = options.fillOpacity !== undefined ? options.fillOpacity : 0.3;\n            const weight = options.weight || 2;\n            const polygon = L.polygon(latlngs, { color, fillColor, fillOpacity, weight });\n            polygon.addTo(map);\n        }\n\n        function addCircle(latlng, options = {}) {\n            const radius = options.radius || 100;\n            const color = options.color || 'red';\n            const fillColor = options.fillColor || color;\n            const fillOpacity = options.fillOpacity !== undefined ? options.fillOpacity : 0.3;\n            const weight = options.weight || 2;\n            const circle = L.circle(latlng, { radius, color, fillColor, fillOpacity, weight });\n            circle.addTo(map);\n        }\n\n        function addPopup(layer, content, top = \"-60\") {\n            if (content) {\n                layer.bindPopup(content, { offset: L.point(0, top) });\n            }\n        }\n\n        if (geojsonData && geojsonData.features) {\n            geojsonData.features.forEach(feature => {\n                const type = feature.geometry.type;\n                const coords = feature.geometry.coordinates;\n                const props = feature.properties || {};\n                const latlng = [coords[1], coords[0]];\n\n                if (type === \"Polygon\") {\n                    const latlngs = coords[0].map(coord => [coord[1], coord[0]]);\n                    addPolygon(latlngs, props.style || {});\n                    return;\n                }\n\n                if (type === \"Point\" && props.circle) {\n                    addCircle(latlng, props.circle);\n                    return;\n                }\n\n                let marker;\n                if (props.marker && props.marker.markerUrl) {\n                    if (props.marker.customCombinedIcon) {\n                        marker = addCombinedMarker(latlng, props.marker.markerUrl, props.marker.faIcon, props.marker.draggable);\n                        if (marker && props.marker.popupContent) {\n                            addPopup(marker, props.marker.popupContent);\n                        }\n                    } else {\n                        marker = addMarker(latlng, props.marker.markerUrl);\n                    }\n                    \n                    if (marker) addPopup(marker, props.marker.popupContent || props.popupContent);\n                    \n                    if (!props.marker.customCombinedIcon) {\n                        let extraMarker = null;\n                        if (props.marker.emoji) {\n                            extraMarker = addEmoji(latlng, props.marker.emoji, \"12px\");\n                        } else if (props.marker.faIcon) {\n                            extraMarker = addFaIcon(latlng, props.marker.faIcon, \"14px\", props.marker.faColor);\n                        } else if (props.marker.image) {\n                            extraMarker = addImage(latlng, props.marker.image, \"8px\");\n                        }\n                        if (extraMarker) addPopup(extraMarker, props.marker.popupContent || props.popupContent);\n                    }  \n                }\n\n                if (props.textLabel) {\n                    const color = props.textColor || 'black';\n                    const size = props.textSize || '16px';\n                    const background = props.background || '';\n                    addTextLabel(latlng, props.textLabel, color, background, size, \"center\");\n                }\n\n                if (props.marker && props.marker.textLabel) {\n                    const color = props.marker.textColor || 'black';\n                    const size = props.marker.textSize || '14px';\n                    const background = props.marker.background || 'white';\n                    addTextLabel(latlng, props.marker.textLabel, color, background, size, \"center\");\n                }\n\n                if (!props.marker) {\n                    let extraMarker = null;\n                    if (props.emoji) extraMarker = addEmoji(latlng, props.emoji, \"40px\");\n                    if (props.faIcon) extraMarker = addFaIcon(latlng, props.faIcon, \"40px\", props.faColor);\n                    if (props.image) extraMarker = addImage(latlng, props.image, \"38px\");\n                    if (extraMarker) addPopup(extraMarker, props.popupContent, \"-40\");\n                }\n            });\n        }\n    });\n    <\/script>    \n[solidara_marker lat=52.52 lng=13.405 map_id=\u201cmeine_karte\u201d markercolor=\u201cred\u201d shape=\u201ccircle\u201d icon=\u201cfa-map-marker\u201d popup=\u201czielseite\u201d post_title=\u201cBerlin Marker\u201d]\n\n\n\n[each region]\n    <li><a href=\"{@permalink,esc_url}\">{@name}<\/a><\/li>\n[\/each]\n","protected":false},"excerpt":{"rendered":"<p>[solidara_debug] [solidara_marker lat=52.52 lng=13.405 map_id=\u201cmeine_karte\u201d markercolor=\u201cred\u201d shape=\u201ccircle\u201d icon=\u201cfa-map-marker\u201d popup=\u201czielseite\u201d post_title=\u201cBerlin Marker\u201d] [each region] {@name} [\/each]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[],"tags":[],"ai_version":[],"class_list":["post-2981","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Test Solidara_map<\/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:\/\/informatoo.com\/en\/test-solidara_map\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:locale:alternate\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Test Solidara_map\" \/>\n<meta property=\"og:description\" content=\"[solidara_debug] [solidara_marker lat=52.52 lng=13.405 map_id=\u201cmeine_karte\u201d markercolor=\u201cred\u201d shape=\u201ccircle\u201d icon=\u201cfa-map-marker\u201d popup=\u201czielseite\u201d post_title=\u201cBerlin Marker\u201d] [each region] {@name} [\/each]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/informatoo.com\/en\/test-solidara_map\/\" \/>\n<meta property=\"og:site_name\" content=\"informatoo.com\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-27T08:49:17+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:\\\/\\\/informatoo.com\\\/test-solidara_map\\\/\",\"url\":\"https:\\\/\\\/informatoo.com\\\/test-solidara_map\\\/\",\"name\":\"Test Solidara_map\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/informatoo.com\\\/#website\"},\"datePublished\":\"2025-03-21T09:04:30+00:00\",\"dateModified\":\"2025-03-27T08:49:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/informatoo.com\\\/test-solidara_map\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/informatoo.com\\\/test-solidara_map\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/informatoo.com\\\/test-solidara_map\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/informatoo.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Test Solidara_map\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/informatoo.com\\\/#website\",\"url\":\"https:\\\/\\\/informatoo.com\\\/\",\"name\":\"informatoo.com\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/informatoo.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/informatoo.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/informatoo.com\\\/#organization\",\"name\":\"informatoo.com\",\"url\":\"https:\\\/\\\/informatoo.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/informatoo.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/informatoo.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/informatoo.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/logo.png\",\"width\":32,\"height\":59,\"caption\":\"informatoo.com\"},\"image\":{\"@id\":\"https:\\\/\\\/informatoo.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Test Solidara_map","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:\/\/informatoo.com\/en\/test-solidara_map\/","og_locale":"en_US","og_type":"article","og_title":"[:de]Test Solidara_map[:] - informatoo.com","og_description":"[solidara_debug] [solidara_marker lat=52.52 lng=13.405 map_id=\u201cmeine_karte\u201d markercolor=\u201cred\u201d shape=\u201ccircle\u201d icon=\u201cfa-map-marker\u201d popup=\u201czielseite\u201d post_title=\u201cBerlin Marker\u201d] [each region] {@name} [\/each]","og_url":"https:\/\/informatoo.com\/en\/test-solidara_map\/","og_site_name":"informatoo.com","article_modified_time":"2025-03-27T08:49:17+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/informatoo.com\/test-solidara_map\/","url":"https:\/\/informatoo.com\/test-solidara_map\/","name":"Test Solidara_map","isPartOf":{"@id":"https:\/\/informatoo.com\/#website"},"datePublished":"2025-03-21T09:04:30+00:00","dateModified":"2025-03-27T08:49:17+00:00","breadcrumb":{"@id":"https:\/\/informatoo.com\/test-solidara_map\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/informatoo.com\/test-solidara_map\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/informatoo.com\/test-solidara_map\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/informatoo.com\/"},{"@type":"ListItem","position":2,"name":"Test Solidara_map"}]},{"@type":"WebSite","@id":"https:\/\/informatoo.com\/#website","url":"https:\/\/informatoo.com\/","name":"informatoo.com","description":"","publisher":{"@id":"https:\/\/informatoo.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/informatoo.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/informatoo.com\/#organization","name":"informatoo.com","url":"https:\/\/informatoo.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/informatoo.com\/#\/schema\/logo\/image\/","url":"https:\/\/informatoo.com\/wp-content\/uploads\/2024\/10\/logo.png","contentUrl":"https:\/\/informatoo.com\/wp-content\/uploads\/2024\/10\/logo.png","width":32,"height":59,"caption":"informatoo.com"},"image":{"@id":"https:\/\/informatoo.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/pages\/2981","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/comments?post=2981"}],"version-history":[{"count":6,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/pages\/2981\/revisions"}],"predecessor-version":[{"id":3031,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/pages\/2981\/revisions\/3031"}],"wp:attachment":[{"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/media?parent=2981"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/categories?post=2981"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/tags?post=2981"},{"taxonomy":"ai_version","embeddable":true,"href":"https:\/\/informatoo.com\/en\/wp-json\/wp\/v2\/ai_version?post=2981"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}