Geolocation mit PHP: Foursquare-API, Google Places & Qype
()
About this ebook
Read more from Stephan Schmidt
Regionale Bildungslandschaften wirkungsorientiert gestalten: Ein Leitfaden zur Qualitätsentwicklung Rating: 0 out of 5 stars0 ratingsMundpropaganda als steuerbares Marketinginstrument Rating: 0 out of 5 stars0 ratings
Related to Geolocation mit PHP
Titles in the series (100)
Zend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5HTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Strategie und Planung Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick Rating: 0 out of 5 stars0 ratings
Related ebooks
Cross-Device-Entwicklung für Android: Kommunikation mit smarten Geräten Rating: 0 out of 5 stars0 ratingsApps mit Azure Rating: 0 out of 5 stars0 ratingsEnterprise Java Web Services Rating: 0 out of 5 stars0 ratingsMQL: Eine hierarchische Abfragesprache mit TypeScript erstellen Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsAufsetzen, Testen und Betrieb einer Android-App Rating: 0 out of 5 stars0 ratingsForms over Data mit Knockout.js: Die freie MVVM-JavaScript-Bibliothek im Praxiseinsatz Rating: 0 out of 5 stars0 ratingsHTML 5 meets GWT Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 1: Grundlagen und erste Schritte Rating: 0 out of 5 stars0 ratingsAngular 2: Moderne Frontends für alle Plattformen entwickeln Rating: 0 out of 5 stars0 ratingsGWT Best Practices I Rating: 0 out of 5 stars0 ratingsSpring: Vier Perspektiven auf Framework und Ökosystem Rating: 0 out of 5 stars0 ratingsJavaScript für .NET-Entwickler Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsJavaMoney: Einführung in den JSR-354-Standard Rating: 0 out of 5 stars0 ratingsWeb-APIs mit ASP.NET MVC 6 Rating: 0 out of 5 stars0 ratingsDynamic Proxies: Effizient programmieren Rating: 0 out of 5 stars0 ratingsModerne Webanwendungen mit AngularJS Rating: 0 out of 5 stars0 ratingsGWT Best Practices II Rating: 0 out of 5 stars0 ratingsBing Maps für Webentwickler Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsReact Native: Native Apps parallel für Android und iOS entwickeln Rating: 0 out of 5 stars0 ratingsDas Vulkan-API: Teil 2: Wie man ein Framework erstellt und Shader programmiert Rating: 0 out of 5 stars0 ratingsPolyglottes Programmieren in Java Core Rating: 0 out of 5 stars0 ratingsMemory Leaks in Java Rating: 0 out of 5 stars0 ratingsDer App-Entwicklungszyklus Rating: 0 out of 5 stars0 ratingsSemantische Kartierung und Navigation für mobile Roboter Rating: 0 out of 5 stars0 ratingsProgrammieren mit PHP: Grundlagen der Programmierung von Web-Applikationen mit der Skript-Sprache PHP Rating: 0 out of 5 stars0 ratingsJavaScript für Java-Entwickler Rating: 0 out of 5 stars0 ratingsWindows Phone 8.1: Alles Wissenswerte für Entwickler Rating: 0 out of 5 stars0 ratings
Programming For You
Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Rating: 0 out of 5 stars0 ratingsPython-Grundlagen Rating: 0 out of 5 stars0 ratingsDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Einstieg • Optimierung • Projekte Rating: 5 out of 5 stars5/5Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsPython programmieren lernen: Der spielerische Einstieg mit Minecraft Rating: 0 out of 5 stars0 ratingsEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Rating: 0 out of 5 stars0 ratingsPython lernen – kurz & gut Rating: 0 out of 5 stars0 ratingsRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Rating: 0 out of 5 stars0 ratingsSQL – kurz & gut Rating: 0 out of 5 stars0 ratingsMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Rating: 0 out of 5 stars0 ratingsPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Rating: 0 out of 5 stars0 ratingsTraumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Rating: 5 out of 5 stars5/5Bash kurz & gut Rating: 0 out of 5 stars0 ratingsMicrocontroller für das IoT Rating: 0 out of 5 stars0 ratingsPython kurz & gut: Für Python 3.x und 2.7 Rating: 3 out of 5 stars3/5C++: Eine kompakte Einführung Rating: 0 out of 5 stars0 ratingsProgrammieren für Einsteiger: Teil 1 Rating: 0 out of 5 stars0 ratingsAndroid-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Rating: 4 out of 5 stars4/5Softwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsVue.js für alle: Wissenswertes für Einsteiger und Experten Rating: 0 out of 5 stars0 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Rating: 0 out of 5 stars0 ratings
Reviews for Geolocation mit PHP
0 ratings0 reviews
Book preview
Geolocation mit PHP - Stephan Schmidt
von Stephan Schmidt
Geolocation mit PHP
Foursquare-API, Google Places & Qype
ISBN: 978-3-86802-429-6
© 2012 entwickler.press
Ein Imprint der Software & Support Media GmbH
1 Geolocation und Geocoding mit PHP
Das Internet wird mobil. Mittlerweile steckt in jedem Handy mehr Rechenleistung als in den ersten Computern, die die meisten von uns bedient haben. Immer mehr Menschen haben einen kleinen PC in ihrer Hosentasche. Dabei verlagern sich die Anforderungen an Webanwendungen: Sie sollen wissen, wo wir uns befinden und nur noch die Informationen liefern, die uns jetzt gerade interessieren. Wo ist das nächste Kino? Wie finden andere den Italiener um die Ecke oder wo sind eigentlich gerade meine Freunde? Aber woher soll PHP das wissen?
Services, die geobasierte Informationen anbieten, schießen in den letzten Jahren wie Pilze aus dem Boden. In diesem Shortcut werden Sie lernen, wie Sie diese in Ihren PHP-Anwendungen einsetzen, um dem Benutzer Informationen zu seinem aktuellen Standort zu liefern. In diesem Kapitel steht noch die Ermittlung der aktuellen Position im Vordergrund, in den nächsten beiden Kapiteln werden Sie dann APIs anbinden, die Ihnen weitere Daten zur aktuellen Position des Benutzers liefern.
Geografische Koordinaten
Um die Position eines Besuchers Ihrer Webseite zu bestimmen, müssen Sie sich ein bisschen mit der Theorie der geografischen Ortsbestimmung befassen. Um jeden Standort auf der Erde eindeutig zu bestimmen, wurde die Erde in 360 Längengrade und 180 Breitengrade unterteilt. Während die Breitengrade parallel zum Äquator verlaufen und auch von diesem aus gezählt werden, schneiden die Längengrade Nord- und Südpol und beginnen an einem willkürlich gewählten Nullmeridian. Dieser verläuft durch die Londoner Sternwarte Greenwich und wurde 1884 in der Internationalen Meridiankonferenz vereinbart, um das Problem der unterschiedlichen Nullmeridiane zu lösen. Mittlerweile arbeiten alle wichtigen geobasierten Dienste mithilfe dieser Längen und Breitengrade und jeder beliebige Ort auf der Erde kann über die Angabe einer geografischen Länge und Breite definiert werden. Dieser Shortcut wurde zum Beispiel auf dem Längengrad 8.613226425 und Breitengrad 48.9697795025 geschrieben. Am Ende des Shortcuts werden Sie in der Lage sein, die entsprechende Adresse herauszufinden.
1.1 Geolocation mit HTML5
Mit HTML5 wurde ein API eingeführt, das es einer Webseite erlaubt, via JavaScript die aktuelle Position des Benutzers zu ermitteln. Dafür können verschiedenste Techniken (GPS, IP-Adresse etc.) eingesetzt werden, für den Nutzer des API ist das vollkommen transparent. Alles, was dazu nötig ist, ist ein einfacher Aufruf einer JavaScript-Methode: navigator.geolocation.getCurrentPosition(success, error);. Da die Ermittlung der aktuellen Position asynchron erfolgt, müssen zwei Callbacks an diese Methode übergeben werden: Der erste wird aufgerufen, wenn die Ermittlung der aktuellen Position abgeschlossen ist, die zweite Methode im Fehlerfall. Damit der Browser die Position ermitteln kann, muss zuerst der Benutzer um Erlaubnis gefragt werden, eine Webseite kann nicht auf Ihre Position zugreifen, ohne, dass Sie dies zuvor erlauben. Wie diese Frage erfolgt, hängt vom Browser ab. Abbildung 1.1 zeigt die Abfrage im Safari. War die Ermittlung der Position erfolgreich, so wird die Callback-Funktion success aufgerufen und ein Objekt übergeben, in dem die aktuelle Position des Benutzers enthalten ist. Listing 1.1 zeigt Ihnen, wie Sie dieses Objekt weiter verarbeiten können. Sollte die Ermittlung nicht erfolgreich sein, so ruft der Browser die Callback-Funktion error auf und übergibt ihr ein Fehlerobjekt mit einem Fehlercode und einer Nachricht. Fehler können zum Beispiel die Weigerung des Benutzers sein, die Position durch die Applikation ermitteln zu lassen, sowie ein Timeout oder ein Fehler bei der Ermittlung der Position.
Abbildung 1.1: Die Ermittlung der Position muss immer vom Benutzer erlaubt werden
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
alert('Ihr Browser unterstützt keine Geolocation.');
}
}
function success(position) {
var text = Längengrad :
+ position.coords.
longitude + \n