Dienstag, 24. Juli 2012

Geocoding selber schreiben in PHP mit Google API

Wenn man den geocode von einer Adresse, zum Beispiel "Bahnhofplatz 1 München" haben will gibt es einen ganz einfachen Weg: http://maps.google.com/maps/geo?q=Bahnhofstr.+1+München&output=json&sensor=false

hinter dem Parameter "q" einfach die beliebige Adresse einsetzen und schon bekommt man viele schöne Daten zurück wie die Postleitzahl oder das Bundesland oder das Land usw. und für uns ganz wichtig: die Koordinaten.

Anbei jetzt ein kleines PHP Skriptlein wo man die Adresse direkt eingeben kann und dann die Koordinaten raus bekommt:

<?php

 $adresse = $_POST['Adresse'];

 $html = "<html>
           <head>
            <title>Finde die Koordinaten</title>
           </head>
           <body>
            <form action=\"" . $_SERVER['SCRIPT_NAME'] . "\" method=\"post\">
             Adresse:
             <input type=\"text\" size=\"50\" name=\"Adresse\" value=\"$adresse\">
             <input type=\"submit\" value=\"Hole die Geodaten\">
            </form>
           ";

 if($adresse) {
  $key ="EUER_GOOGLE_API_KEY_WENN_IHR_EINEN_HABT";
  $url = 'http://maps.google.com/maps/geo?q='.urlencode($adresse).'&output=json&sensor=false&key='.$key;
  $data = file_get_contents($url);
  $loc = json_decode($data);
  $lat = $loc->Placemark[0]->Point->coordinates[1];
  $lng = $loc->Placemark[0]->Point->coordinates[0];

  $html .= "Google-URL = $url <br><br> lat = $lat <br> lng = $lng";
 } else {
  $html .= "Bitte eine Adresse eingeben!";
 }

$html .= " </body>
          </html>
         ";

echo $html;
?>


VORSICHT bei den Limits! Solltet ihr keinen gültigen Google-API-Key haben dürfen maximal 2.500 Anfragen über die Google-API laufen. Mit Google-API-Key (siehe hier) können immerhin bis zu 25.000 Anfragen abgeschickt werden, ohne das google die IP für weitere API Zugriffe sperrt (und dann teilweise sogar für einen größeren Zeitraum).

Samstag, 21. Juli 2012

ASUS M5A99X Evo mit AMD FX-8150 und Windows 7

Neues ASUS M5A99X Evo gekauft und einen AMD FX-8150 drauf gesetzt und gehofft das dann gleich die Installation von Windows 7 funktioniert? Pustekuchen... Leider...

Das vorinstallierte Bios von ASUS ist leider zu alt für den Prozessor. Das heißt: wenn das Setup hoch fährt schmiert der PC einfach ohne Fehlermeldung ab... ohne eine Info was da los ist. Das Gute am M5A99X Evo Mainboard: Das BIOS lässt sich ganz einfach übers BIOS aktualisieren! Sprich BIOS-Update-Datei über die ASUS Homepage einfach auf einen USB Stick und dann übers BIOS das BIOS einfach Aktualisieren :-)

Für den AMD FX-8150 wird mindestens die BIOS Version 0813 installieren! Dann kann es mit der Installation los gehen!

Dann steht man nur noch vor einem Problem wenn man Windows 7 versucht per USB-Stick oder USB-Laufwerk zu installieren: Der Installer startet und will irgendwelche Treiber haben... Allerdings funktionieren weder AHCI noch Mainboard oder sonstige Treiber. Es gib da nur eine Lösung: SATA DVD Laufwerk auf SATA_5 oder SATA_6 hängen und den SATA Modus für die beiden SATA Anschlüsse von AHCI auf IDE stellen. Dann nochmal durchbooten und glücklich sein :)

Und so schaut nun mein System aus, welches ich nach 2 Stunden endlich zum laufen bekommen habe:
  • Gehäuse: Miditower CM STORM Enforcer + zusätzlicher 200mm TOP-Lüfter
  • Mainboard: ASUS M5A99X Evo
  • CPU: AMD FX-8150 Bulldozer
  • CPU-Kühler: Alpenföhn Groß Clockner Rev.B
  • RAM: 8GB Corsair Vengeance Arbeitsspeicher (PC1866, CL9) DDR3-RAM Kit
  • HDD: Samsung MZ-7PC256N/EU 256GB interne SSD (6,3 cm (2,5 Zoll), 256MB Cache, SATA 6.0Gbps)
  • Grafikkarte: 2048MB Sapphire Radeon HD 7870 OC Aktiv
  • Netzteil: 580W be Quiet! Straight Power CM BQT E8 80+

Freitag, 20. Juli 2012

Google API Zugriff-Limits erhöhen

Das die Google-Api praktisch ist hab ich ja schon länger gewusst, was mich bis dato nur immer gestört hat sich die Begrenzungen. Zum Beispiel sind nur 2.500 Anfragen pro Tag auf diverse API's von Google erlaubt (Zum Beipsiel die Google Kalender API oder die Google Maps API). Das ganze kann man aber seit kurzem relativ leicht auf das 10 fache aufstocken: einfach auf https://code.google.com/apis/console/ gehen, ein neues Projekt registrieren (man brauch dafür keine URL oder sonstiges) und die jeweiligen API's (unter dem Punkt "Services") die man verwenden möchte auswählen. Danach muss man nur noch darauf achten, das man den API-Key auch in seine Programme mit einbaut.

Wenn die Services dann einmal ausgewählt sind kann man diese dann auch praktischer weise in einem Chart verfolgen und sieht auch wie viele Zugriffe über den Key auf die API wirklich drüber laufen. Des weiteren kann man auch den Zugriff auf eine Anzahl von Anfragen pro Sekunde ("Quotas") beschränken, was einem allerdings selber zum Verhängnis werden kann, wenn man zum Beispiel via Skript mehrere Datensätze auf einmal abarbeitet und das Limit zu niedrig gesetzt hat.

Auch nett ist die Funktion "Team". Hier kann man pro Projekt den Leuten Zugriff (lesend, schreibend oder Besitzer geben). Notwendig ist allerdings das eine @gmail.com adresse vorhanden ist.

Wenn mehrere Projekte vorhanden sind sollten auch mehrere Projekte in der API-Console angelegt werden. Erstens hat man dann einen schöneren Überblick wie viele Zugriffe je nach Projekt stattfinden und zweitens läuft man nicht Gefahr so schnell die Limits zu überschreiten.

Dienstag, 3. Juli 2012

Adobe Reader X lädt lange bei "An E-Mail anhängen"

Der Adobe Reader ist ja eine feine Sache... Allerdings hat ich jetzt öfters folgendes Phänomen: Wenn ich ein PDF Dokument öffnete und dann auf "Datei" - "An E-Mail anhängen" klickte, dauerte es 30-60 Sekunden, bis ein weiteres Fenster auf ging, wo ich diese Aktion noch einmal bestätigen musste und dann kam erst prompt eine neue E-Mail zum Vorschein.

Nachdem mein System nicht das langsamste ist (Dual-Core i5 mit einer recht schnellen SSD Festplatte) habe ich die Performance meines Rechners mal als Fehlerquelle ausgeschlossen, was auch die Tests an anderen Rechnern bestätigt haben... Die ersten male hatte ich übrigens nicht die Geduld zu warten bis das Freigabefenster kam, sondern habe den Reader via Taskmanager geschlossen, weil ich dachte das er eh abgestürzt sei... also: Geduld mitbringen! Dann seht ihr auch das Freigabefenster, welches in meinen Augen völlig unnütz ist, wenn ich eine E-Mail per Mail verschicken will...

DIE LÖSUNG:

Nach kurzer Suche bin ich dann fündig geworden: Einfach unter "Bearbeiten" -> "Voreinstellungen" rein gehen und da auf "Online-Dienste" klicken. Da steht dann unter den "Freigabefenster-Optionen" die Option "Freigabefenster beim Senden von E-Mail-Anlage verwenden". Diese Option muss deaktiviert sein! Sobald ihr dann gespeichert habt, erscheint nun auch wieder sofort nach klicken auf "An E-Mail anhängen" euer E-Mail Programm in gewohnter Schnelligkeit :-)

Alte Dokumente (Excel und Word) in Microsoft Office 2010 ordentlich öffnen und bearbeiten

Wer hat da noch nicht geflucht? Man hat eine alte Word 2.0 oder Excel 2.0 Datei und will diese unbedingt öffnen und bearbeiten. Aber Office 2010 sagt: NEIN! Nur anschauen ist erlaubt! Alle Skripte etc. sind ausgeschalten und müssen über das Sicherheitscenter freigeschalten werden...

OK... Ich bin ja nicht so und mach das was Microsoft von mir will... da ich ja sonst meinen Willen nicht bekomme. Also fix auf "Datei" -> "Optionen" -> "Sicherheitscenter" und da dann rechts auf "Einstellungen für das Sicherheitscenter". Im neuen Fenster dann noch auf "Einstellungen für den Zugriffsschutz" und schon sind wir da wo wir hin wollen.

Rein von der Logik würde jetzt jeder einfach alle Dokumente anhaken (Für "Öffnen" und "Speichern") und dann unten einfach die Option auf "Ausgewählte Dateitypen in geschützter Ansicht öffnen" klicken. Das erste Problem war aber dann schon, das mein Word 2.0 Format nicht drin stand... und beim erneuten öffnen passierte das selbe wie vorher: nämlich nichts!

Da ich aber mittlerweile eh weiß, das bei Microsoft alles anders ist uns man ein wenig quer denken muss, bin ich auf eine glorreiche Idee gekommen:


Alle Haken entfernen und dann einfach die Option "Ausgewählte Dateitypen nicht öffnen" auswählen. Ich habe dann sogar kurz überlegt, welche Datei ich anhake, wenn Office jetzt schimpft... aber soweit ist es nicht gekommen. Mit diesem "Trick" haben sich dann auf Anhieb alle alten Dokumente (auch Excel mit der selben Vorgehensweise) öffnen, bearbeiten und auch speichern lassen :-)