• Flugverkehr über München

    Flugbewegungen über München: Dargestellt in WordPress mit diversen Plugins und APIs

    Mit zwei WordPress-Plugins und einer geeigneten Datenquelle kann man den Flugverkehr über München, ja überall in der Welt, auf seiner Website darstellen.
    Und das geht so:

    1. Installiere die WordPress-Plugins Flexible Map und mein Plugin JSON Content Importer in der PRO-Version (sorry, das kostet leider)
    2. Hole Dir bei Google einen API key für Deine Website: Das ist nötig, da Google seine Karten nur zur Verfügung stellt, wenn man sich dort einträgt.

      Den API-Schlüssel musst Du in den Optionen des Plugins Flexible Maps eintragen und speichern.

    3. Füge folgenden twig-code in den Template-Manager des Plugins JSON Content Importer ein. Durch das Abspeichern bekommst Du eine ID für diesen Template-Baustein:
    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
    <Document>
    <Style id="jcistylemucland">
    <IconStyle>
    <Icon>
    <href>http://maps.google.com/mapfiles/kml/pushpin/grn-pushpin.png
    </href>
    </Icon>
    </IconStyle>
    </Style>
    <Style id="jcistylemucstart">
    <IconStyle>
    <Icon>
    <href>http://maps.google.com/mapfiles/kml/pushpin/blue-pushpin.png
    </href>
    </Icon>
    </IconStyle>
    </Style>
    <Style id="jcistyle">
    <IconStyle>
    <Icon>
    <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png
    </href>
    </Icon>
    </IconStyle>
    </Style>
    {% for f in acList %}
    <Placemark>
    <name>
    <![CDATA[
    {{f.Op}} {{f.Mdl}}: {{f.Id}}
    ]]></name>
    {% if f.From=="EDDM Munich, Germany" %}
    <styleUrl>#jcistylemucstart</styleUrl>
    {% elseif f.To=="EDDM Munich, Germany" %}
    <styleUrl>#jcistylemucland</styleUrl>
    {% else %}
    <styleUrl>#jcistyle</styleUrl>
    {% endif %}
    <description>
    <![CDATA[
    PosTime: {{ (f.PosTime // 1000) | date('d.m.Y H:i') }}
    Alt: {{f.Alt}}
    {% if f.From is not empty %}
    From: {{f.From}}
    To: {{f.To}}
    {% endif %}
    ]]></description>
    <Point>
    <coordinates>{{f.Long}},{{f.Lat}}</coordinates>
    </Point>
    </Placemark>
    {% endfor %}
    </Document>
    </kml>
    
  • Erstelle eine neue Seite oder einen neuen Blogpost mit folgendem Code (lat und lng sind die georaphischen Daten für München). Diese Seite wird den neuen, sogenannten KML-Feed enthalten, den Google Maps als Input benötigt:
  • [[jsoncontentimporterpro url=https://public-api.adsbexchange.com/VirtualRadar/AircraftList.json?lat=48.137154&lng=11.576124&fDstL=0&fDstU=100 parser=twig id=ID_TEMPLATE_MANAGER]]
  • Veröffentliche diese Seite und schau sie dir im Browser an. Hier im Beispiel: https://www.kux.de/kml-feed-munich/.
    Füge an der URL hinten “?show=oc” an, dadurch sollte sich die Optik deutlich reduzieren: https://www.kux.de/kml-feed-munich/?show=oc. Über http://googlemapsapi.blogspot.de/2007/06/validate-your-kml-online-or-offline.html kann man sicherstellen, dass der KML-Feed korrekt ist.
  • Was tun, wenn der KML-Feed nicht ok ist?
    Ein Grund kann sein, dass WordPress dazwischenfunkt und Extrazeichen einfügr (Stichwort wpautop). Hier versuche in den Optionen des Plugins JSON Content Importer unter “Options” und dann “Settings” bei “Use wpautop or not:” wähle “remove wpautop”.

    Oder: Wenn eine andere API verwendet wird, muss man entsprechend den twig-Code ändern, der die Daten der API nimmt und in KML-XML konvertiert.
  • Erstelle eine weitere neue Seite, auf dem Du Google-Maps und die Daten zusammenbringst: Wenn Du diese Seite ansiehst sollten die Flugbewegungen über München auf der Karte zu sehen sein. Alle 5 Minuten bringt ein Reload der Seite neue Daten (5 Minuten ist die Zeit, die Google Maps solche Daten zwischenspeichert, mit weiterne Tricks könnte man das “umgehen”).
    Also, bitte folgenen Code auf die Seite:
  • [[flexiblemap src="https://www.kux.de/kml-feed-munich/?show=oc" kmlcache="5 minutes" zoom="7"]]
  • Here we go:
    Start in München


    Landung in München


    Überflug München oder unbekannter Start / Landung


  • JCI: 20.000, Update: twig-extension für JSON-Sortierung, rawpost etc.

    "JSON Content Importer" WordPress Plugin

    Kurz vor Weihnachten habe ich ein Update der PRO-Version meines WordPress-Plugins “JSON Content Importer” herausgebracht. Zudem hat die kostenlose Version die Marke von 20.000 Downloads überschritten.
    Im Details habe ich Anforderungen der PRO-Nutzer eingebaut, die aus der ganzen Welt bei mir eintrafen (BTW: Für das Handling der Kundenanfragen benutze ich https://freshdesk.com seit Kurzem – es erscheint mir als echte Hilfe den Überblick zu bewahren):

    • Die Templateengine twig enthält leider keine Befehle mit der man richtig sortieren kann:

      sort ist ok, aber nicht mächtig genug zum Sortieren von JSON-Datenbäumen. Daher habe ich eine twig-extension in das Plugin eingebaut, mit der eine passende Syntax möglich wird.
    • Wenn man eine API anzapft, holt man per HTTP die JSON-Daten. Das erfolgt zumeist mittels GET, manchmal per POST. Bisher nutzte das Plugin die in WordPress dafür eingebauten Funktionen wie wp_remote_get. Manche APIs reagieren aber sehr sensibel auf Anfragen. Daher war es nun nötig, in das Plugin einzubauen, dass man die direkten PHP-GET/POST Funktionen (file_get_contents) nutzen kann.

      Beispiel: http://api.json-content-importer.com/api-pricing-api-viajanet-com-br-json-sort-and-post/
    • Verfasst man in WordPress Artikel, so ist das mit dem WordPress-Editor so eine Sache. Im Zusammenhang mit dem JSON Content Importer-Plugin sollte man nur den Text-Modus verwenden (und auch nicht mal so eben zum HTML-/WYSIWYG-Editor hin- und dann wieder zurückschalten – der Editor zerstört ggf. den Code). In der PRO-Version empfiehlt sich die Nutzung des Template-Managers. Wer aber dennoch im WordPress-Texteditor testen will, der kann das mit der Version 3.3.0 nun besser: Einerseits kann man wpautop nun wirksam ausschalten (ohne das wurden Zeilenumbrüche im Editor in HTML-Zeilenumbrüche im Ergebnis eingefügt). Andererseits werden Anführungszeichen im twig-code vom WordPress-Editor nun nicht mehr in HTML umgewandelt (was den twig-code zerstört). D.h. man kann nun besser twig-code im WordPress-Editor (statt im TemplateManager) entwickeln.
  • 10.0.0.1: Bitdefender und all-inkl Netzwerklaufwerke

    bitdefender Total Security und all-inkl NetzwerklaufwerkWenn man sich einerseits eine neue Sicherheitssoftware zulegt und damit aber auch bewährte Software nutzen will, kann man die eine oder andere Überraschung erleben.
    Also einerseits: Die “Bitdefender Total Security 2017“-Software schnitt in Tests sehr gut ab und bietet für den Preis u.a. auch mehrere Lizenzen für die Menge an Geräten die man so hat. Installiert man die Software auf einem Windows10-PC, so wird das Gerät vielfältig geschützt.

    Eine Software hat damit allerdings echte Probleme: Der Hoster all-inkl bietet mit der Webdisk aka Netzwerklaufwerk eine Software, mit der man die Dateien des Webservers in den eigenen PC holen einbinden kann. Das ist praktisch wenn man dies und das ändern oder testen will.

    Nur: Ist genannte Bitdefender Software installiert, kann das Netzwerklaufwerk auf dem PC nicht gemountet werden. Zwar macht der PC und die lokale all-inkl-Software allerlei Kommunikation, aber ganz zum Ende scheitert eben das Mounten. Schaltet man die Bitdefender-Firewall ab, dann geht das. Aber das kann’s ja nicht sein… (more…)

  • meetup.com durchsuchen & auf der eigenen Website

    API meetup.com nutzen

    Schon mal auf einem meetup gewesen? Das ist immer wieder sehr interessant.
    Möglich macht solche Treffen meetup.com.
    Die meetup.com API macht es möglich, Daten aus meetup.com zu ziehen und in die eigene Website zu integrieren.
    Genau für solche Zwecke habe ich mein WordPress-Plugin JSON Content Importer entwickelt.

    Wie das funktioniert zeige ich im Detail auf api.json-content-importer.com/api-meetup-com/.

    Auf api.json-content-importer.com/api-meetup-com-search/ kannst Du meetups örtlich durchsuchen.