{"id":27,"date":"2026-04-27T13:30:45","date_gmt":"2026-04-27T13:30:45","guid":{"rendered":"https:\/\/www.seo-agentur.saarland\/?page_id=27"},"modified":"2026-05-21T09:31:48","modified_gmt":"2026-05-21T09:31:48","slug":"awo","status":"publish","type":"page","link":"https:\/\/www.seo-agentur.saarland\/","title":{"rendered":"AWO"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"27\" class=\"elementor elementor-27\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f2d3078 e-flex e-con-boxed e-con e-parent\" data-id=\"f2d3078\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ec7d96b elementor-widget elementor-widget-html\" data-id=\"ec7d96b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n.awo-page-root * { box-sizing: border-box; font-family: Arial, sans-serif; }\n.awo-page-root { background:#f5f5f5; color:#222; }\n.awo-page-root .container { max-width:1360px; margin:0 auto; padding:24px; }\n.awo-page-root h1 { text-align:center; font-size:46px; font-weight:800; }\n.awo-page-root h1 span { color:#c62828; }\n\n.awo-page-root .search-controls {\n  display:grid;\n  grid-template-columns:1fr auto auto auto;\n  gap:10px;\n  margin-bottom:18px;\n}\n\n.awo-page-root input {\n  padding:14px 20px;\n  border-radius:999px;\n  border:1px solid #ccc;\n}\n\n.awo-page-root button {\n  border:none;\n  border-radius:999px;\n  padding:12px 18px;\n  cursor:pointer;\n  font-weight:700;\n}\n\n.awo-page-root button.active {\n  background:#c62828 !important;\n  color:#fff;\n}\n\n.awo-page-root #filters {\n  display:flex;\n  flex-wrap:wrap;\n  gap:10px;\n  justify-content:center;\n  margin-bottom:24px;\n}\n\n.awo-page-root .familie { background:#e9ddf3; }\n.awo-page-root .pflege { background:#f1e49b; }\n.awo-page-root .teilhabe { background:#f3d1c6; }\n.awo-page-root .landesgeschaeftsstelle { background:#efe3ca; }\n.awo-page-root .verband { background:#d7efda; }\n.awo-page-root .ehrenamt { background:#d9edf7; }\n\n.awo-page-root .layout {\n  display:grid;\n  grid-template-columns:1.45fr .85fr;\n  gap:26px;\n}\n\n.awo-page-root #map {\n  width:100%;\n  height:700px;\n  border-radius:28px;\n  background:#ddd;\n}\n\n.awo-page-root .details {\n  background:#fff;\n  border-radius:28px;\n  padding:30px;\n  min-height:680px;\n}\n\n.awo-page-root .detail-label {\n  font-size:13px;\n  font-weight:700;\n  text-transform:uppercase;\n  color:#666;\n  margin-top:18px;\n}\n\n.awo-page-root .detail-value {\n  font-size:17px;\n  line-height:1.6;\n}\n\n.awo-page-root .detail-value a {\n  color:#c62828;\n}\n\n@media(max-width:980px){\n  .awo-page-root .layout { grid-template-columns:1fr; }\n  .awo-page-root .search-controls { grid-template-columns:1fr; }\n  .awo-page-root #map { height:460px; }\n}\n<\/style>\n\n<div class=\"awo-page-root\">\n  <div class=\"container\">\n    <h1>In Ihrer N\u00e4he: die <span>AWO Saarland<\/span><\/h1>\n\n    <div class=\"search-controls\">\n      <input id=\"ortSearch\" type=\"text\" placeholder=\"Ort, Landkreis oder Standort suchen\" oninput=\"searchByOrt()\">\n      <button onclick=\"searchByOrt()\">Suchen<\/button>\n      <button onclick=\"resetSearch()\">Zur\u00fccksetzen<\/button>\n      <button onclick=\"findNearbyAwos()\">\ud83d\udccd In meiner N\u00e4he<\/button>\n    <\/div>\n\n    <div id=\"filters\">\n      <button class=\"active\" data-category=\"Alle\" onclick=\"filterCategory('Alle')\">Alle<\/button>\n      <button class=\"familie\" data-category=\"AWO Familie\" onclick=\"filterCategory('AWO Familie')\">\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67 Familie<\/button>\n      <button class=\"pflege\" data-category=\"AWO Pflege\" onclick=\"filterCategory('AWO Pflege')\">\u2764\ufe0f Pflege<\/button>\n      <button class=\"teilhabe\" data-category=\"AWO Teilhabe\" onclick=\"filterCategory('AWO Teilhabe')\">\u267f Teilhabe<\/button>\n      <button class=\"landesgeschaeftsstelle\" data-category=\"Landesgesch\u00e4ftsstelle\" onclick=\"filterCategory('Landesgesch\u00e4ftsstelle')\">\ud83c\udfe2 LGS<\/button>\n      <button class=\"verband\" data-category=\"LGS und Verband\" onclick=\"filterCategory('LGS und Verband')\">\ud83e\udd1d Verband<\/button>\n      <button class=\"ehrenamt\" data-category=\"Ehrenamt\" onclick=\"filterCategory('Ehrenamt')\">\ud83d\ude4b Ehrenamt<\/button>\n    <\/div>\n\n    <div class=\"layout\">\n      <div id=\"map\"><\/div>\n\n      <div class=\"details\" id=\"detailsPanel\">\n        <h2>Standortdetails<\/h2>\n        <p>ACF-Standorte werden geladen...<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\nconst STANDORTE_API_URL = \"\/?rest_route=\/awo\/v1\/standorte\";\nconst GEOJSON_URL = \"\/wp-content\/uploads\/awo-data\/saarland.geojson\";\nconst GEOCODE_CACHE_KEY = \"awo_acf_browser_geocode_v2\";\nconst GEOCODE_CONCURRENCY = 8;\n\nconst categoryColors = {\n  \"AWO Familie\": \"#b58ad7\",\n  \"AWO Pflege\": \"#d4b200\",\n  \"AWO Teilhabe\": \"#d58d72\",\n  \"Landesgesch\u00e4ftsstelle\": \"#c2a56c\",\n  \"LGS und Verband\": \"#69a878\",\n  \"Ehrenamt\": \"#6db2cf\"\n};\n\nlet map;\nlet infoWindow;\nlet markerLibrary;\nlet geocoder;\n\nlet allLocations = [];\nlet filteredLocations = [];\nlet markers = [];\n\nlet currentCategory = \"Alle\";\nlet currentQuery = \"\";\n\nfunction escapeHtml(value) {\n  return String(value || \"\")\n    .replace(\/&\/g, \"&amp;\")\n    .replace(\/<\/g, \"&lt;\")\n    .replace(\/>\/g, \"&gt;\")\n    .replace(\/\"\/g, \"&quot;\")\n    .replace(\/'\/g, \"&#039;\");\n}\n\nfunction normalize(value) {\n  return String(value || \"\")\n    .toLowerCase()\n    .trim()\n    .normalize(\"NFD\")\n    .replace(\/[\\u0300-\\u036f]\/g, \"\");\n}\n\nfunction normalizeBereich(value) {\n  const text = normalize(value);\n\n  if (text.includes(\"familie\")) return \"AWO Familie\";\n  if (text.includes(\"pflege\")) return \"AWO Pflege\";\n  if (text.includes(\"teilhabe\")) return \"AWO Teilhabe\";\n  if (text.includes(\"landesgeschaftsstelle\") || text.includes(\"landesgeschaeftsstelle\")) return \"Landesgesch\u00e4ftsstelle\";\n  if (text.includes(\"verband\")) return \"LGS und Verband\";\n  if (text.includes(\"ehrenamt\")) return \"Ehrenamt\";\n\n  return value || \"Unbekannt\";\n}\n\nfunction getField(item, names) {\n  for (const name of names) {\n    if (item[name] !== undefined && item[name] !== null && item[name] !== \"\") {\n      return item[name];\n    }\n  }\n  return \"\";\n}\n\nfunction getCache() {\n  try {\n    return JSON.parse(localStorage.getItem(GEOCODE_CACHE_KEY) || \"{}\");\n  } catch (e) {\n    return {};\n  }\n}\n\nfunction setCache(cache) {\n  try {\n    localStorage.setItem(GEOCODE_CACHE_KEY, JSON.stringify(cache));\n  } catch (e) {}\n}\n\nfunction sleep(ms) {\n  return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nfunction buildAddress(loc) {\n  return [\n    [loc.strasse, loc.hausnummer].filter(Boolean).join(\" \").trim(),\n    [loc.plz, loc.ort].filter(Boolean).join(\" \").trim(),\n    \"Saarland\",\n    \"Deutschland\"\n  ].filter(Boolean).join(\", \");\n}\n\nfunction geocodeAddress(address) {\n  return new Promise((resolve, reject) => {\n    geocoder.geocode({ address: address, region: \"DE\" }, function(results, status) {\n      if (status === \"OK\" && results[0]) {\n        resolve({\n          lat: results[0].geometry.location.lat(),\n          lng: results[0].geometry.location.lng()\n        });\n      } else {\n        reject(status);\n      }\n    });\n  });\n}\n\nfunction isInsideSaarland(lat, lng) {\n  return lat >= 49.05 && lat <= 49.75 && lng >= 6.1 && lng <= 7.5;\n}\n\nfunction showDetails(loc) {\n  document.getElementById(\"detailsPanel\").innerHTML = `\n    <h2>${escapeHtml(loc.name)}<\/h2>\n\n    ${loc.bereich ? `<div class=\"detail-label\">Dienstleistungsbereich<\/div><div class=\"detail-value\">${escapeHtml(loc.bereich)}<\/div>` : \"\"}\n    ${loc.unterkategorie ? `<div class=\"detail-label\">Unterkategorie<\/div><div class=\"detail-value\">${escapeHtml(loc.unterkategorie)}<\/div>` : \"\"}\n    ${loc.kurzbeschreibung ? `<div class=\"detail-label\">Beschreibung<\/div><div class=\"detail-value\">${escapeHtml(loc.kurzbeschreibung)}<\/div>` : \"\"}\n\n    ${loc.website ? `<div class=\"detail-label\">Website<\/div><div class=\"detail-value\"><a href=\"${escapeHtml(loc.website)}\" target=\"_blank\" rel=\"noopener\">${escapeHtml(loc.website)}<\/a><\/div>` : \"\"}\n    ${loc.ort ? `<div class=\"detail-label\">Ort<\/div><div class=\"detail-value\">${escapeHtml(loc.ort)}<\/div>` : \"\"}\n    ${loc.landkreis ? `<div class=\"detail-label\">Landkreis<\/div><div class=\"detail-value\">${escapeHtml(loc.landkreis)}<\/div>` : \"\"}\n\n    ${loc.strasse ? `<div class=\"detail-label\">Stra\u00dfe<\/div><div class=\"detail-value\">${escapeHtml(loc.strasse)} ${escapeHtml(loc.hausnummer)}<\/div>` : \"\"}\n    ${loc.plz ? `<div class=\"detail-label\">PLZ<\/div><div class=\"detail-value\">${escapeHtml(loc.plz)}<\/div>` : \"\"}\n\n    ${loc.email ? `<div class=\"detail-label\">E-Mail<\/div><div class=\"detail-value\"><a href=\"mailto:${escapeHtml(loc.email)}\">${escapeHtml(loc.email)}<\/a><\/div>` : \"\"}\n    ${loc.telefon ? `<div class=\"detail-label\">Telefon<\/div><div class=\"detail-value\">${escapeHtml(loc.telefon)}<\/div>` : \"\"}\n    ${loc.oeffnungszeiten ? `<div class=\"detail-label\">\u00d6ffnungszeiten<\/div><div class=\"detail-value\">${escapeHtml(loc.oeffnungszeiten)}<\/div>` : \"\"}\n\n    ${loc.distance ? `<div class=\"detail-label\">Entfernung<\/div><div class=\"detail-value\">${loc.distance.toFixed(1)} km<\/div>` : \"\"}\n\n    <div class=\"detail-label\">Anzahl Standorte in Auswahl<\/div>\n    <div class=\"detail-value\">${filteredLocations.length}<\/div>\n  `;\n}\n\nasync function initMap() {\n  try {\n    const mapsLibrary = await google.maps.importLibrary(\"maps\");\n    markerLibrary = await google.maps.importLibrary(\"marker\");\n\n    map = new mapsLibrary.Map(document.getElementById(\"map\"), {\n      center: { lat: 49.23, lng: 6.99 },\n      zoom: 9,\n      mapId: \"DEMO_MAP_ID\"\n    });\n\n    infoWindow = new mapsLibrary.InfoWindow();\n    geocoder = new google.maps.Geocoder();\n\n    loadGeoJsonLayer();\n\n    await loadAcfLocations();\n\n  } catch (error) {\n    console.error(\"Kartenfehler:\", error);\n\n    document.getElementById(\"detailsPanel\").innerHTML = `\n      <h2>Fehler<\/h2>\n      <p>Google Maps konnte nicht geladen werden. Bitte API-Key und Konsole pr\u00fcfen.<\/p>\n    `;\n  }\n}\n\nfunction loadGeoJsonLayer() {\n  if (!GEOJSON_URL) return;\n\n  try {\n    map.data.loadGeoJson(GEOJSON_URL);\n    map.data.setStyle({\n      fillColor: \"#c62828\",\n      fillOpacity: 0.06,\n      strokeColor: \"#c62828\",\n      strokeWeight: 1.5,\n      strokeOpacity: 0.35\n    });\n  } catch (e) {\n    console.warn(\"GeoJSON konnte nicht geladen werden:\", e);\n  }\n}\n\nasync function loadAcfLocations() {\n  const response = await fetch(STANDORTE_API_URL + \"&nocache=1&_=\" + Date.now(), {\n    cache: \"no-store\"\n  });\n\n  if (!response.ok) {\n    throw new Error(\"REST-Endpoint nicht erreichbar.\");\n  }\n\n  const data = await response.json();\n  const items = Array.isArray(data) ? data : (data.items || []);\n  const cache = getCache();\n\n  let locations = items.map(item => {\n    const name = getField(item, [\"name\", \"title\", \"post_title\"]);\n\n    const bereich = normalizeBereich(\n      getField(item, [\"dienstleistungsbereich\", \"bereich\", \"category\", \"kategorie\"])\n    );\n\n    const lat = parseFloat(getField(item, [\"lat\", \"latitude\", \"standort_lat\", \"geo_lat\"]));\n    const lng = parseFloat(getField(item, [\"lng\", \"longitude\", \"standort_lng\", \"geo_lng\"]));\n\n    return {\n      id: getField(item, [\"id\", \"ID\"]),\n      name,\n      bereich,\n      unterkategorie: getField(item, [\"unterkategorie\"]),\n      kurzbeschreibung: getField(item, [\"kurzbeschreibung\"]),\n      website: getField(item, [\"website\", \"website_link\"]),\n      ort: getField(item, [\"ort\", \"standort_ort\"]),\n      strasse: getField(item, [\"strasse\", \"stra\u00dfe\", \"standort_strasse\", \"standort_stra\u00dfe\"]),\n      hausnummer: getField(item, [\"hausnummer\", \"hausnr\", \"standort_hausnummer\"]),\n      plz: getField(item, [\"plz\", \"standort_plz\"]),\n      landkreis: getField(item, [\"landkreis\"]),\n      email: getField(item, [\"email\", \"e_mail\", \"e_mail_adresse\"]),\n      telefon: getField(item, [\"telefon\", \"telefonnummer\"]),\n      oeffnungszeiten: getField(item, [\"oeffnungszeiten\", \"\u00f6ffnungszeiten\"]),\n      lat: Number.isFinite(lat) ? lat : null,\n      lng: Number.isFinite(lng) ? lng : null\n    };\n  }).filter(loc => loc.name);\n\n  document.getElementById(\"detailsPanel\").innerHTML = `\n    <h2>Standortdetails<\/h2>\n    <p>${locations.length} ACF-Standorte geladen. Marker werden vorbereitet...<\/p>\n  `;\n\n  const ready = [];\n  const needsGeocode = [];\n\n  locations.forEach(loc => {\n    if (loc.lat && loc.lng && isInsideSaarland(loc.lat, loc.lng)) {\n      ready.push(loc);\n      return;\n    }\n\n    const address = buildAddress(loc);\n    const cacheKey = normalize(address);\n\n    if (address && cache[cacheKey]) {\n      loc.lat = cache[cacheKey].lat;\n      loc.lng = cache[cacheKey].lng;\n\n      if (isInsideSaarland(loc.lat, loc.lng)) {\n        ready.push(loc);\n      }\n      return;\n    }\n\n    if (address) {\n      loc._address = address;\n      loc._cacheKey = cacheKey;\n      needsGeocode.push(loc);\n    }\n  });\n\n  allLocations = ready;\n\n  createMarkers();\n  applyFilters();\n\n  document.getElementById(\"detailsPanel\").innerHTML = `\n    <h2>Standortdetails<\/h2>\n    <p>${allLocations.length} Standorte sofort geladen.<\/p>\n    <p>${needsGeocode.length} Standorte werden im Hintergrund vorbereitet...<\/p>\n  `;\n\n  let index = 0;\n  let success = allLocations.length;\n  let failed = 0;\n\n  async function worker() {\n    while (index < needsGeocode.length) {\n      const loc = needsGeocode[index++];\n\n      try {\n        const coords = await geocodeAddress(loc._address);\n\n        if (isInsideSaarland(coords.lat, coords.lng)) {\n          loc.lat = coords.lat;\n          loc.lng = coords.lng;\n\n          cache[loc._cacheKey] = coords;\n          setCache(cache);\n\n          allLocations.push(loc);\n          success++;\n\n          addSingleMarker(loc);\n          applyFilters();\n        } else {\n          failed++;\n          console.warn(\"Geocoding au\u00dferhalb Saarland:\", loc.name, loc._address, coords);\n        }\n      } catch (e) {\n        failed++;\n        console.warn(\"Geocoding fehlgeschlagen:\", loc.name, loc._address, e);\n      }\n\n      if ((success + failed) % 10 === 0) {\n        document.getElementById(\"detailsPanel\").innerHTML = `\n          <h2>Standortdetails<\/h2>\n          <p>${success} Standorte mit Koordinaten bereit.<\/p>\n          <p>Noch in Arbeit: ${Math.max(0, needsGeocode.length - index)}<\/p>\n          <p>Fehlgeschlagen: ${failed}<\/p>\n        `;\n      }\n\n      await sleep(80);\n    }\n  }\n\n  const workers = Array.from(\n    { length: Math.min(GEOCODE_CONCURRENCY, needsGeocode.length) },\n    () => worker()\n  );\n\n  await Promise.all(workers);\n\n  applyFilters();\n\n  document.getElementById(\"detailsPanel\").innerHTML = `\n    <h2>Standortdetails<\/h2>\n    <p>${allLocations.length} Standorte mit Koordinaten bereit.<\/p>\n    <p>W\u00e4hle einen Marker oder nutze die Suche.<\/p>\n  `;\n}\n\nfunction createMarkers() {\n  markers.forEach(entry => {\n    entry.marker.map = null;\n  });\n\n  markers = [];\n\n  allLocations.forEach(loc => {\n    addSingleMarker(loc);\n  });\n}\n\nfunction addSingleMarker(loc) {\n  const { AdvancedMarkerElement, PinElement } = markerLibrary;\n\n  const pin = new PinElement({\n    background: categoryColors[loc.bereich] || \"#c62828\",\n    borderColor: \"#ffffff\",\n    glyphColor: \"#ffffff\"\n  });\n\n  const marker = new AdvancedMarkerElement({\n    map,\n    position: { lat: loc.lat, lng: loc.lng },\n    title: loc.name,\n    content: pin.element,\n    gmpClickable: true\n  });\n\n  marker.addEventListener(\"gmp-click\", () => {\n    showDetails(loc);\n\n    infoWindow.setContent(`\n      <div style=\"max-width:260px\">\n        <strong>${escapeHtml(loc.name)}<\/strong><br>\n        ${escapeHtml(loc.ort || \"\")}<br>\n        ${escapeHtml(loc.landkreis || \"\")}\n      <\/div>\n    `);\n\n    infoWindow.open({\n      anchor: marker,\n      map: map\n    });\n  });\n\n  markers.push({ marker, loc });\n}\n\nfunction applyFilters() {\n  const query = normalize(currentQuery);\n\n  filteredLocations = allLocations.filter(loc => {\n    const categoryMatch =\n      currentCategory === \"Alle\" || normalizeBereich(loc.bereich) === currentCategory;\n\n    const searchMatch =\n      !query ||\n      normalize(loc.name).includes(query) ||\n      normalize(loc.ort).includes(query) ||\n      normalize(loc.landkreis).includes(query) ||\n      normalize(loc.plz).includes(query);\n\n    return categoryMatch && searchMatch;\n  });\n\n  markers.forEach(entry => {\n    entry.marker.map = filteredLocations.includes(entry.loc) ? map : null;\n  });\n\n  if (filteredLocations.length) {\n    fitBounds(filteredLocations);\n    showDetails(filteredLocations[0]);\n  } else {\n    document.getElementById(\"detailsPanel\").innerHTML = `\n      <h2>Keine Treffer<\/h2>\n      <p>Keine Standorte gefunden oder Marker werden noch vorbereitet.<\/p>\n    `;\n  }\n}\n\nfunction fitBounds(locations) {\n  if (!locations.length) return;\n\n  const bounds = new google.maps.LatLngBounds();\n\n  locations.forEach(loc => {\n    bounds.extend({ lat: loc.lat, lng: loc.lng });\n  });\n\n  map.fitBounds(bounds);\n}\n\nfunction searchByOrt() {\n  currentQuery = document.getElementById(\"ortSearch\").value;\n  applyFilters();\n}\n\nfunction resetSearch() {\n  document.getElementById(\"ortSearch\").value = \"\";\n  currentQuery = \"\";\n  currentCategory = \"Alle\";\n\n  document.querySelectorAll(\"#filters button\").forEach(btn => {\n    btn.classList.toggle(\"active\", btn.dataset.category === \"Alle\");\n  });\n\n  applyFilters();\n}\n\nfunction filterCategory(category) {\n  currentCategory = category;\n\n  document.querySelectorAll(\"#filters button\").forEach(btn => {\n    btn.classList.toggle(\"active\", btn.dataset.category === category);\n  });\n\n  applyFilters();\n}\n\nfunction getDistanceKm(lat1, lng1, lat2, lng2) {\n  const r = 6371;\n  const dLat = (lat2 - lat1) * Math.PI \/ 180;\n  const dLng = (lng2 - lng1) * Math.PI \/ 180;\n\n  const a =\n    Math.sin(dLat \/ 2) ** 2 +\n    Math.cos(lat1 * Math.PI \/ 180) *\n    Math.cos(lat2 * Math.PI \/ 180) *\n    Math.sin(dLng \/ 2) ** 2;\n\n  return r * 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n}\n\nfunction findNearbyAwos() {\n  if (!navigator.geolocation) {\n    alert(\"Standortermittlung wird nicht unterst\u00fctzt.\");\n    return;\n  }\n\n  navigator.geolocation.getCurrentPosition(position => {\n    const userLat = position.coords.latitude;\n    const userLng = position.coords.longitude;\n\n    filteredLocations = allLocations\n      .map(loc => ({\n        ...loc,\n        distance: getDistanceKm(userLat, userLng, loc.lat, loc.lng)\n      }))\n      .sort((a, b) => a.distance - b.distance)\n      .slice(0, 10);\n\n    markers.forEach(entry => {\n      entry.marker.map = filteredLocations.some(loc => loc.id === entry.loc.id) ? map : null;\n    });\n\n    fitBounds(filteredLocations);\n    showDetails(filteredLocations[0]);\n  });\n}\n\nwindow.initMap = initMap;\nwindow.searchByOrt = searchByOrt;\nwindow.resetSearch = resetSearch;\nwindow.filterCategory = filterCategory;\nwindow.findNearbyAwos = findNearbyAwos;\n\nfunction waitForGoogleMapsAndInit() {\n  if (\n    window.google &&\n    google.maps &&\n    typeof google.maps.importLibrary === \"function\"\n  ) {\n    initMap();\n    return;\n  }\n\n  setTimeout(waitForGoogleMapsAndInit, 150);\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", waitForGoogleMapsAndInit);\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7d2d528 e-flex e-con-boxed e-con e-parent\" data-id=\"7d2d528\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>In Ihrer N\u00e4he: die AWO Saarland Suchen Zur\u00fccksetzen \ud83d\udccd In meiner N\u00e4he Alle \ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67 Familie \u2764\ufe0f Pflege \u267f Teilhabe \ud83c\udfe2 LGS \ud83e\udd1d Verband \ud83d\ude4b Ehrenamt Standortdetails ACF-Standorte werden geladen&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-27","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=\/wp\/v2\/pages\/27","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=27"}],"version-history":[{"count":22,"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=\/wp\/v2\/pages\/27\/revisions"}],"predecessor-version":[{"id":2958,"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=\/wp\/v2\/pages\/27\/revisions\/2958"}],"wp:attachment":[{"href":"https:\/\/www.seo-agentur.saarland\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}