06 Februar 2009

OpenLayers - KML-Daten als Layer über OSM

...hätte man mich vor ein paar Jahren gefragt, wie man eine (möglichst noch interaktive) Karte auf eine Webseite bringt, ich hätte wahrscheinlich ratlos die Schultern hochgezogen. Inzwischen besteht z.B. OpenStreetMap dank der vielen fleißigen Datensammler nicht mehr nur aus weißen Flecken und es gibt so nützliche Frameworks wie OpenLayers.
Um zu demonstrieren, wie eine kleine, interaktive Karte aussehen könnte, habe ich mal ein paar Gebäude der Uni Trier (Campus I) als Vektordaten in eine KML-Datei geschrieben und diese Polygone als Overlay mit OpenLayers über OpenStreetmap gelegt.
Die Demo besteht aus einer html-Datei mit mehr javascript als html (siehe Quelltext), die als Widget die Karte der Uni angezeigt (Mapnik als Base Layer, Osmarender auswählbar). Die Objekte aus der KML-Datei werden auf einem Layer angezeigt, der ein- und ausgeblendet werden kann. Klickt man auf die Objekte (Gebäude), werden deren Attribute (Name des Gebäudes, auch aus den KML-Daten) in einem Popup (AnchoredBubble) eingeblendet.
(Die Demo basiert hauptsächlich auf diesem Beispiel aus der OpenLayers-Doku - vielleicht hilft sie ja der ein oder dem anderen)

Labels: , , , ,

21 November 2008

mootools und so

...ich gebe ja zu, daß JavaScript* und ich noch nie richtig Freunde waren und es wahrscheinlich auch nicht mehr werden. Und obwohl ich - wenn man mich auf der Straße fragen würde - wohl nie eingestehen würde, daß es sinnvoll sein kann, irgend etwas nicht auf dem Server zu erledigen bevor man das Ergebnis ausliefert, weiche ich hier mal meine festbetonierte Meinung auf. Ich halte ja eigentlich nicht viel von blinkenden, fadenden oder sich bewegenden Elementen auf Webseiten, wenn ausklappbare oder slidende Elemente (Menüs, Infoboxen etc.) jedoch die Übersichtlichkeit und Bedienbarkeit der GUI (wenns denn schon in X- und oder HTML sein muß) verbessern... naja, dann von mir aus, denn: Man hat schließlich nicht unendlich viel Platz auf 'dem Bildschirm'.
Da ich selbst wenig mit JavaScript zu tun habe freue ich mich immer über bestenfalls gut dokumentierte und leicht zu verwendende Frameworks. Schon vor einiger Zeit fielen mir die mootools in die Hände, die ich 'irgendwann' mal ein bisschen ausprobieren wollte. Das habe ich jetzt getan, auch wenn das Ergebnis noch sehr dürftig und nur ein erstes Ausprobieren ist: Mit den Sortables aus mootools habe ich eine kleine Seite geschrieben, auf der man DVB-S-Fernsehsender nach Programmplatz sortieren kann, ein Klick auf den Button darunter erzeugt dann eine entsprechend sortierte channels.conf-Liste, die man sich rauskopieren und weiterverwenden kann. Die Angaben aus der Liste sind ohne Gewähr auf Richtigkeit und es fehlen auch einige Sender. Das Script war halt nur zum Spielen gedacht, nicht als vernünftig zu bedienendes Tool. Wie dem auch sei: 'Ajax und Web-two-ohh - hoppla, jetzt komm ich' - nein, nicht wirklich.

* "Java and Javascript are similar like Car and Carpet are similar." (Greg Hewgill)

Labels: , , , , ,

03 März 2007

dokumentier' heut' Nacht mit mir!

...was macht man an einem Samstag? Also außer Kaffee trinken? Na, sich mal den Berg noch zu dokumentierende Software vorzunehmen und lustig loslegen. Zu dem Zweck und, da in Zukunft mal zur Abwechslung ordentlich dokumentiert werden soll, hab ich mir mal den phpDocumentor angeschaut und auch gleich ein wenig gebastelt. Ich hab' mich dann aus Gründen der Übersichtlichkeit auch (fast) überreden lassen, meine zwei, drei Kommandozeilenprogrämmchen in Klassen unterzubringen. Quatsch eigentlich, aber für eine zusammenhängende Doku irgendwie praktischer. Der phpDocumentor ist recht hübsch, nimmt einem jedoch leider die eigentliche Dokumentationsarbeit nicht wirklich ab - hab ich auch nicht erwartet.
Außerdem bin ich momentan auf der Suche nach einem Framework, um nicht zum tausendsten Mal $_POST 'zu Fuß' auslesen zu müssen. Nein, nicht RoR, sollte schon PHP sein. Die Auswahl ist da auch recht groß: Symfony gefiel irgendwie nicht - wegen YAML (nicht das Layout-YAML, sondern das andere).
Da man ja bei PHP gleich an Zend denkt, hab ich auch hier nachgeschaut (vielversprechend: Der angedachte 'Support for XML Databases' - gäbe es den schon, wär die Entscheidung leichter). Seagull war mir noch im Gedächtnis, deswegen hab ich da auch geschaut. Hm... und da man ja irgendwie doch recht faul ist, klingt 'auto generated code' nicht wirklich schlecht und Qcodo scheint einem damit recht weit entgegen zu kommen.
Eine Entscheidung ist noch nicht gefallen, ich dokumentier inzwischen weiter...

Labels: , ,