{"id":149,"date":"2014-05-06T10:45:35","date_gmt":"2014-05-06T08:45:35","guid":{"rendered":"https:\/\/schwarzer.de\/blog\/?p=149"},"modified":"2020-09-21T14:15:19","modified_gmt":"2020-09-21T12:15:19","slug":"google-maps-einem-sharepoint-2013-listview-darstellen","status":"publish","type":"post","link":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/","title":{"rendered":"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen"},"content":{"rendered":"<p><!-- <ezTOC> -->Heute \u00f6ffnet mal unsere Entwicklungsabteilung eine Truhe in der Sharepoint-Schatzkammer.<\/p>\n<p>Jeder der schon einmal eine Website mit Microsoft Sharepoint erstellt hat, kennt wahrscheinlich das Problem, dass man gerne auf der Kontaktseite eine Karte einblenden m\u00f6chte, die den Standort der Firma oder Filiale anzeigt und das am Besten mit einer Google Map. Daf\u00fcr gibt es zwar eine ganze Menge fertiger Webparts und Scripte, aber die meisten funktionieren nicht mehr in Sharepoint 2013 oder sie sind f\u00fcr den gebotenen Funktionsumfang viel zu teuer.<br \/>\nDieser Artikel beschreibt, wie man in Sharepoint 2013 mit Hilfe der jQuery Erweiterung zGoogleMap (von zazar) eine &#8222;Google Maps&#8220;-Karte anzeigen lassen kann. Die Orte, die angezeigt werden sollen, kommen dabei aus einer herk\u00f6mmlichen Sharepoint Liste und die Erweiterung wird in einen XSLT View eingebunden.<\/p>\n<style><!--\ncode span, span.tab {padding-left:20px; float:left; display: block; width:100%;}\n--><\/style>\n<p>Zuerst legen wir in unserer XSL Datei ein neues Template an, das die Daten aus unserer Liste verarbeiten kann.<br \/>\n<code><br \/>\n&lt;xsl:template name=\"RenderViewWithMap\"&gt;<br \/>\n<span class=\"tab\">&lt;xsl:variable name=\"Rows\" select=\"\/dsQueryResponse\/Rows\/Row\" \/&gt;<br \/>\n&lt;xsl:choose&gt;<br \/>\n<span class=\"tab\">&lt;xsl:when test=\"count($Rows) = 0\"&gt;<br \/>\n<span class=\"tab\">&lt;xsl:call-template name=\"RenderViewEmpty\" \/&gt;<\/span><br \/>\n&lt;\/xsl:when&gt;<br \/>\n&lt;xsl:otherwise&gt;<br \/>\n<span class=\"tab\">&lt;script src=\"https:\/\/maps.google.com\/maps\/api\/js?sensor=false&amp;amp;region=DE\" type=\"text\/javascript\"&gt;&lt;\/script&gt;<br \/>\n&lt;script src=\"\/_catalogs\/masterpage\/js\/jquery.zgooglemap.min.js\" type=\"text\/javascript\"&gt;&lt;\/script&gt;<br \/>\n&lt;div class=\"ViewWithMapContainer\"&gt;<br \/>\n<span class=\"tab\">&lt;xsl:attribute name=\"View\"&gt;<br \/>\n<span class=\"tab\">&lt;xsl:value-of select=\"$View\" \/&gt;<\/span><br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n<span class=\"tab\">&lt;xsl:attribute name=\"ListTitle\"&gt;<\/span><br \/>\n&lt;xsl:value-of select=\"$ListTitle\" \/&gt;<br \/>\n&lt;\/xsl:attribute&gt;<br \/>\n&lt;xsl:apply-templates \/&gt;<br \/>\n&lt;xsl:for-each select=\"$Rows\"&gt;<br \/>\n<span class=\"tab\">&lt;xsl:call-template name=\"RenderViewWithMapRow\" \/&gt;<\/span><br \/>\n&lt;\/xsl:for-each&gt;<\/span><br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/xsl:otherwise&gt;<\/span><br \/>\n&lt;\/xsl:choose&gt;<\/span><br \/>\n&lt;\/xsl:template&gt;<\/span><br \/>\n<\/code><\/p>\n<p>Die Daten aus dem Query in der aspx Datei werden hier der Variablen &#8222;Rows&#8220; zugwiesen. Danach wird getestet, ob die Query \u00fcberhaupt Ergebniszeilen zur\u00fcckgegeben hat und je nachdem wird das Template &#8222;RenderViewEmpty&#8220; bzw. f\u00fcr jede Zeile das Template &#8222;RenderViewWithMapRow&#8220; aufgerufen. Bevor das Template zum Rendern der Zeilen aufgerufen wird, werden noch die ben\u00f6tigten Javascripte f\u00fcr die Google Map API und zGoogleMap eingebunden. (jQuery sollte nat\u00fcrlich auch noch eingebunden werden, falls das noch nicht im Mastertemplate geschehen ist.)<\/p>\n<p>Als n\u00e4chstes definieren wir das Template f\u00fcr die leere Liste.<br \/>\n<code><br \/>\n&lt;xsl:template name=\"RenderViewEmpty\"&gt;<br \/>\n<span>&lt;!-- Insert code for view without a result. --&gt;<\/span><br \/>\n&lt;\/xsl:template&gt;<br \/>\n<\/code><\/p>\n<p>Dann kommt der interessanteste Teil, n\u00e4mlich die Darstellung der Karte f\u00fcr die Ergebniszeilen.<\/p>\n<p><code><br \/>\n&lt;xsl:template name=\"RenderViewWithMapRow\"&gt;<br \/>\n&lt;div&gt;<br \/>\n<span>&lt;div id=\"googlemap\" style=\"width: 600px; height: 600px;\"&gt;&lt;\/div&gt;<br \/>\n&lt;div id=\"details\" style=\"display: table; padding-left: 10px;\"&gt;<br \/>\n<span>&lt;p&gt;<br \/>\n<span>&lt;b&gt;B\u00fcro &lt;xsl:value-of select=\"@Title\" \/&gt;&lt;\/b&gt;<\/span><br \/>\n&lt;\/p&gt;<br \/>\n&lt;xsl:call-template name=\"RenderViewColumn\"&gt;<br \/>\n<span>&lt;xsl:with-param name=\"Value\" select=\"@WorkAddress\" \/&gt;<\/span><br \/>\n&lt;\/xsl:call-template&gt;<br \/>\n&lt;xsl:value-of select=\"@WorkZip\"\/&gt;, &lt;xsl:value-of select=\"@WorkCity\"\/&gt;<br \/>\n&lt;br \/&gt;<br \/>\nT &lt;xsl:value-of select=\"@WorkPhone\"\/&gt; &lt;br&gt;&lt;\/br&gt;<br \/>\nF &lt;xsl:value-of select=\"@WorkFax\"\/&gt; &lt;br&gt;&lt;\/br&gt;<br \/>\n&lt;xsl:call-template name=\"ViewAsEMail\"&gt;<br \/>\n<span>&lt;xsl:with-param name=\"EMail\" select=\"@EMail\" \/&gt;<\/span><br \/>\n&lt;\/xsl:call-template&gt;<\/span><br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;script type=\"text\/javascript\"&gt;<br \/>\n<span>var myWorkAddress = '&lt;xsl:value-of select=\"normalize-space(@WorkAddress)\"\/&gt;';<br \/>\nvar myWorkCity = '&lt;xsl:value-of select=\"normalize-space(@WorkCity)\"\/&gt;';<br \/>\nvar myWorkPhone = '&lt;xsl:value-of select=\"normalize-space(@WorkPhone)\"\/&gt;';<br \/>\nvar myWorkFax = '&lt;xsl:value-of select=\"normalize-space(@WorkFax)\"\/&gt;';<br \/>\nvar myEMail = '&lt;xsl:value-of select=\"normalize-space(@EMail)\"\/&gt;';<br \/>\nvar myWorkZip\u00a0 = '&lt;xsl:value-of select=\"normalize-space(@WorkZip)\"\/&gt;';<br \/>\nvar aLocations = new Array( myWorkAddress + ',' + myWorkCity + ',de');<br \/>\nvar aTitles = new Array('Location '+ myWorkCity );<br \/>\nvar aSummary = new Array('&lt;h3&gt;Location in '+ myWorkCity + '&lt;\/h3&gt;&lt;p&gt;' + myWorkAddress + '&lt;br \/&gt;' + myWorkZip + ' ' + myWorkCity + '&lt;br \/&gt;T '+ myWorkPhone + '&lt;br \/&gt;F ' + myWorkFax + '&lt;br \/&gt;&lt;a href=\"<a href=\"mailto:'%20+%20myEMail%20+%20'\">mailto:' + myEMail + '<\/a>\"&gt;' + myEMail + '&lt;\/a&gt;&lt;\/p&gt;');<br \/>\njQuery(document).ready(function() {<br \/>\n<span>jQuery('#googlemap').GoogleMap(aLocations, aTitles, aSummary, { type: 3, width: '600px', height: '600px', zoom: 12});<\/span><br \/>\n});<\/span><br \/>\n&lt;\/script&gt;<\/span><br \/>\n&lt;\/xsl:template&gt;<br \/>\n<\/code><\/p>\n<p>Zuerst wird ein HTML Template definiert, das die Daten aus den Ergebniszeilen darstellt. Darin findet man auch das DIV-Element &#8222;googlemap&#8220;, das die Karte sp\u00e4ter aufnehmen wird.<br \/>\nWeil zGoogleMaps \u00fcber Javascript gesteuert wird, m\u00fcssen wir zun\u00e4chst die Sharepoint-Variablen in JavaScript-Variablen schreiben. Das geschieht mit dem Befehl<\/p>\n<p><code><br \/>\nvar myVariable = '';<br \/>\n<\/code><\/p>\n<p>Hier ist wichtig, dass mit der Funktion &#8222;normalize-space&#8220; alle Whitespaces wie Zeilenumbr\u00fcche und Tabulatoren aus der Variablen entfernt werden, da sonst JavaScript einen Fehler wegen nicht abgeschlossenen String-Literalen melden w\u00fcrde.<\/p>\n<p>Danach werden die Arrays aLocations, aTitles und aSummary f\u00fcr den Aufruf von zGoogleMap zusammengebaut.<br \/>\nSchlie\u00dflich wird in der ready-Funktion, also wenn das Dokument vollst\u00e4ndig geladen wurde, das DIV-Element &#8222;googlemap&#8220; durch die Karte ersetzt. Das sollte es gewesen sein.<\/p>\n<p>Wenn wir nun in der aspx Datei, die unser XSLT View benutzt, sicherstellen, dass der Webpart, der unser Template &#8222;RenderViewWithMap&#8220; aufruft genau ein Element zur\u00fcckliefert, wird eine GoogleMap mit den Daten aus der Liste dargestellt.<\/p>\n<p>Nat\u00fcrlich gibt es auch andere &#8211; vielleicht auch bessere &#8211; Wege eine Google Map in einem Sharepoint View darzustellen, aber die vorgestellte Methode funktioniert problemlos, l\u00e4sst sich leicht einbauen und mit einfachen Mitteln an eigene Bed\u00fcrfnisse anpassen.<!-- <\/ezTOC> --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Heute \u00f6ffnet mal unsere Entwicklungsabteilung eine Truhe in der Sharepoint-Schatzkammer. Jeder der schon einmal eine Website mit Microsoft Sharepoint erstellt [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1332,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[52,155],"tags":[196,197,198],"features_image":"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg","rk_cat":null,"rk_date":"06.05.2014","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>GOOGLE Maps in einem Sharepoint 2013 Listview darstellen - Schwarzer.de Blog<\/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:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen - Schwarzer.de Blog\" \/>\n<meta property=\"og:description\" content=\"Heute \u00f6ffnet mal unsere Entwicklungsabteilung eine Truhe in der Sharepoint-Schatzkammer. Jeder der schon einmal eine Website mit Microsoft Sharepoint erstellt [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/\" \/>\n<meta property=\"og:site_name\" content=\"Schwarzer.de Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-06T08:45:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-09-21T12:15:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"378\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschrieben von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hans-J\u00fcrgen Schwarzer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/schwarzer.de\/blog\/#website\",\"url\":\"https:\/\/schwarzer.de\/blog\/\",\"name\":\"Schwarzer.de Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/schwarzer.de\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"de-DE\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#primaryimage\",\"inLanguage\":\"de-DE\",\"url\":\"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg\",\"contentUrl\":\"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg\",\"width\":1080,\"height\":378,\"caption\":\"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#webpage\",\"url\":\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/\",\"name\":\"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen - Schwarzer.de Blog\",\"isPartOf\":{\"@id\":\"https:\/\/schwarzer.de\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#primaryimage\"},\"datePublished\":\"2014-05-06T08:45:35+00:00\",\"dateModified\":\"2020-09-21T12:15:19+00:00\",\"author\":{\"@id\":\"https:\/\/schwarzer.de\/blog\/#\/schema\/person\/b4ffeb0c116fc217c80baefd49bc381a\"},\"breadcrumb\":{\"@id\":\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/schwarzer.de\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen\"}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/schwarzer.de\/blog\/#\/schema\/person\/b4ffeb0c116fc217c80baefd49bc381a\",\"name\":\"Hans-J\u00fcrgen Schwarzer\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/schwarzer.de\/blog\/#personlogo\",\"inLanguage\":\"de-DE\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64690c1ea3ab46fac7afd4778bc78364?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64690c1ea3ab46fac7afd4778bc78364?s=96&d=mm&r=g\",\"caption\":\"Hans-J\u00fcrgen Schwarzer\"},\"description\":\"Hans-J\u00fcrgen Schwarzer leitet die Digital-Agentur schwarzer.de software + internet gmbh. Als Unternehmer und Verleger in Personalunion wie auch als leidenschaftlicher Blogger geh\u00f6rt er zu den Hauptautoren verschiedener Online-Magazine. Innerhalb seiner breiten Palette an Themen liegen dem Mainzer Lokalpatrioten dabei vermeintlich \u201eschr\u00e4ge\u201c Ideen und technische Novit\u00e4ten besonders am Herzen - Nerdstuff, wie es heute hei\u00dft.\",\"url\":\"#\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen - Schwarzer.de Blog","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:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/","og_locale":"de_DE","og_type":"article","og_title":"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen - Schwarzer.de Blog","og_description":"Heute \u00f6ffnet mal unsere Entwicklungsabteilung eine Truhe in der Sharepoint-Schatzkammer. Jeder der schon einmal eine Website mit Microsoft Sharepoint erstellt [&hellip;]","og_url":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/","og_site_name":"Schwarzer.de Blog","article_published_time":"2014-05-06T08:45:35+00:00","article_modified_time":"2020-09-21T12:15:19+00:00","og_image":[{"width":1080,"height":378,"url":"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Geschrieben von":"Hans-J\u00fcrgen Schwarzer","Gesch\u00e4tzte Lesezeit":"5 Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/schwarzer.de\/blog\/#website","url":"https:\/\/schwarzer.de\/blog\/","name":"Schwarzer.de Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/schwarzer.de\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"de-DE"},{"@type":"ImageObject","@id":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#primaryimage","inLanguage":"de-DE","url":"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg","contentUrl":"https:\/\/schwarzer.de\/blog\/wp-content\/uploads\/2014\/05\/GOOGLE-Maps.jpg","width":1080,"height":378,"caption":"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen"},{"@type":"WebPage","@id":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#webpage","url":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/","name":"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen - Schwarzer.de Blog","isPartOf":{"@id":"https:\/\/schwarzer.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#primaryimage"},"datePublished":"2014-05-06T08:45:35+00:00","dateModified":"2020-09-21T12:15:19+00:00","author":{"@id":"https:\/\/schwarzer.de\/blog\/#\/schema\/person\/b4ffeb0c116fc217c80baefd49bc381a"},"breadcrumb":{"@id":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/schwarzer.de\/blog\/google-maps-einem-sharepoint-2013-listview-darstellen\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/schwarzer.de\/blog\/"},{"@type":"ListItem","position":2,"name":"GOOGLE Maps in einem Sharepoint 2013 Listview darstellen"}]},{"@type":"Person","@id":"https:\/\/schwarzer.de\/blog\/#\/schema\/person\/b4ffeb0c116fc217c80baefd49bc381a","name":"Hans-J\u00fcrgen Schwarzer","image":{"@type":"ImageObject","@id":"https:\/\/schwarzer.de\/blog\/#personlogo","inLanguage":"de-DE","url":"https:\/\/secure.gravatar.com\/avatar\/64690c1ea3ab46fac7afd4778bc78364?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64690c1ea3ab46fac7afd4778bc78364?s=96&d=mm&r=g","caption":"Hans-J\u00fcrgen Schwarzer"},"description":"Hans-J\u00fcrgen Schwarzer leitet die Digital-Agentur schwarzer.de software + internet gmbh. Als Unternehmer und Verleger in Personalunion wie auch als leidenschaftlicher Blogger geh\u00f6rt er zu den Hauptautoren verschiedener Online-Magazine. Innerhalb seiner breiten Palette an Themen liegen dem Mainzer Lokalpatrioten dabei vermeintlich \u201eschr\u00e4ge\u201c Ideen und technische Novit\u00e4ten besonders am Herzen - Nerdstuff, wie es heute hei\u00dft.","url":"#"}]}},"_links":{"self":[{"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/posts\/149"}],"collection":[{"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":8,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":1333,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/posts\/149\/revisions\/1333"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/media\/1332"}],"wp:attachment":[{"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/schwarzer.de\/blog\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}