Home » DIVS, Featured

Mit Google Maps Längen- & Breitengrade ermitteln – freies Geocoding Skript

24 März 2009 15 Kommentare

Wer ein Tool benötigt um die Längen- und Breitengrade für verschiedene Orte zu ermitteln wird hier fündig. Mit Hilfe eines frei zugänglichen Codes von Google Maps – Google Maps API Example: Simple Geocoding. Mit einer kleinen Modifikation und wenigen Ergänzungen ist dabei folgendes kleines Skript rausgekommen. Einfach den Ort eintragen oder per Mausklick auf die Position in der Karte klicken, und in der Sprechblase die GeoWerte ablesen.

Wer das Skript für seine eigenen Projekte nutzen möchte, muss nur noch an der gekennzeichneten Stelle seinen Google Maps API Key eingetragen werden. Wer noch keinen hat, kann ihn hier bekommen: Anmelden für das Google Maps-API


Hier das Geocode-Skript


15 Comments »

  • blenderman sagt:

    Hallo Danyel,

    vielen Dank für das Tool. Praktisch ist es die Geoinformationen in ein Inputfeld zu senden. Dadurch lassen sich die Koordinaten noch einfacher Kopieren.

    document.getElementById("myForm").value = point.lng()+";"+point.lat();

    übrigens funktioniert der Mausklick unter IE8 nicht richtig. Abhilfe schaft ein löschen der Kopfzeile DOCTYPE.

  • Michael sagt:

    Tja, bloß erlauben die Nutzungsbedingungen der GMaps-API nicht, dass diese Koordinaten für etwas anderes weiterverwendet werden als für die bloße Wiederverarbeitung in GMaps.

  • Blue Force sagt:

    interessantes Skript ! Ich habe es bei mir testweise auf localhost laufen und es geht prima.

    Merkwürdig:
    Bei mir lokal funktioniert die Suche, obwohl ich keinen Key an der angegebenen Stelle eingegeben habe. Es steht immer noch ….HIER-DER-API-KEY…

    Vielleicht sind es auch keine Funktionen die einen Key erfordern ?
    Na ist auch egal Hauptsache es geht 🙂

  • Blue Force sagt:

    Nachtrag:
    ok es scheint lokal immer zu funktionieren. Für die Webseite war ein Schlüssel notwendig.

  • trebor sagt:

    hallo,
    bin absoluter neuling in homepages. kenne die Struktur von Typo3 und WP.
    Frage: was genau muss ich mit diesem Code anstellen, (wohin mit dem Skript-Code ??) damit ich eine Anzeige in WordPress bekomme??

    wenn ich eine neue Seite in WP anlege, dann bekomme ich wieder Möglichkeit NEUE Artickel und kommentare einzugeben. Wie binde ich oben genannten Code in eine Seite in WP ??

    Mit freundlichen Grüssen,

    Trebor

  • trebor sagt:

    Hallo nochmals,

    habe das skript als Html, mal mit Doctype, mal ohne, mal mit &sensor=false&key….im Artikel eingegeben. Es erscheint NUR der Suchkastn mit Reeparbahn und Go, die karte selbst erscheint nicht, owohl ich den korrekten kex für die domain eingegeben habe.

    Kann hier jemand weiterhelfen ??

    Dank

  • soli sagt:

    Ich bin Access-Datenbankenprogrammierer und würde dieses Tool gerne in Access nutzen. Allerdings verstehe ich nicht, wie man die Koordinaten in einer Textbox oder speichert. Ich wäre euch dankbar, wenn ihr mir helfen könntet!

  • MoeJoe sagt:

    Danke,
    das Script hat mir sehr geholfen, nur würde mich noch interessieren, wie du die Suche in die Map eingebunden hast? Ich finde nämlich bei Google nur die „normale“ Map und eine „mapsearch“, welche aber nicht die Optionen einer Map besitzt. Wäre nett, wenn du mir erklären könntest, wie ich die Suche implementiere. 🙂

  • Vom 20. zum 10. Breitengrad « Carola's Hanoi Blog sagt:

    […] Ich versuch’s mal mit dem Ende. Seit Sonntag bin ich wieder in Hanoi. Genau eine Woche war ich – wie angekündigt – im Süden des Landes. Meine Oma hat es sogar im Atlas nachgeschaut – Hanoi liegt auf dem 20., Saigon bewegt sich auf dem 10. Breitengrad (Köln liegt auf dem 50.). Ich finde, das vermittelt eine interessante Vorstellung! (Für alle, die schauen wollen, auf welcher Breite sie sich gerade so bewegen, habe ich diesen Link im Internet gefunden: http://www.linkr.de/2009/03/24/mit-google-maps-laengen-breitengrade-ermitteln-freies-geocoding-skrip…) […]

  • dave sagt:

    Ich werde bald wahnsinnig.. ich suche schon seit Stunden .. eigentlich seit 48 Stunden ohne Schlaf nach einer Möglichkeit direkt google Maps auf einer Seite zu laden mit einen festgelegten Standort wie straße + Hausnummer… ohne diese Längen und Breitengerade nutzen zu müssen… besser ich bin wahrscheinlich zu doof um die Variablen zu übergeben..

    der ganze kramm wird onload geladen….
    Klar funktioniert es…. Doch was bringts wenn beim Load eine karte nach vorgaben in der

    var latlng = new google.maps.LatLng(-34.397, 150.644);

    geladen wird, und erst kurz danach die neue geladen wird mit der adresse??…. ist doch käse… keine Saubere Lösung… Eigentlich müsste

    results[0].geometry.location

    an

    var latlng = new google.maps.LatLng(-34.397, 150.644);

    übergeben werden…

    Etwa so:
    var latlng = new google.maps.LatLng(
    results[0].geometry.location );

    doch leider ist die Variable außerhalb der Funktion nicht mehr abrufbar.. was mich total begeistert…

    Ich bin am druchdrehen… Wie kann man so eine Funktion einfach so kompliziert gestalten…

    Bin für jede Hilfe dankbar.. bevor ich die Tapete von der Wand kratze..

    var geocoder;
    var map;

    function initialize() {
    geocoder = new google.maps.Geocoder();
    var address = ‚Perlebergerstrasse+60,10555+berlin‘;
    if (geocoder) {
    geocoder.geocode( { ‚address‘: address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
    map: map,
    position: results[0].geometry.location
    });

    } else {
    alert(„Standort konnte nicht bestimmt werden: “ + status);
    }

    var tester = results[0].geometry.location;
    return tester;

    });

    }

    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
    zoom: 10,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById(„map_canvas“), myOptions);

    }

  • Denis sagt:

    Hallo zusammen,

    wie kann ich dieses Script ohne Map nutzen? Ich habe ein Adressformular, das die Nutzer ausfüllen, im Hintergrund soll dann einfach das Script laufen und das Geocoding (Längengrad/Breitengrad) mit in der Datenbank speichern. Dies scheinen wohl die Variablen zu sein, die die Informationen beinhalten.

    lng()
    lat()

    Kann mir jemand helfen? Bei onSubmit könnten vielleicht 2 hiddenFields mit den werten gefüllt werden.

    Vielen Dank für eure Hilfe,
    derDenis

  • Längengrad und Breitengrad herausfinden sagt:

    […] Alternativ finden Sie hier eine weitere Möglichkeit Geocoding […]

  • Stefan sagt:

    < ?php //Hier Euer Script :D //Google API Key (geht auch für wenige Anfragen ohne) $google_api_key = "EURE API"; //Adresse, zu der die Geodaten ermittelt werden sollen durch Komma getrennt $query="Platz+der+Republik+1, 10557, Berlin"; //Curl Optionen setzen und Aufruf starten $str = array("Accept-Language: ".$_SERVER["HTTP_ACCEPT_LANGUAGE"]); $curl_req = curl_init(); curl_setopt($curl_req, CURLOPT_URL, "http://maps.google.com/maps/geo?q=".rawurlencode($query)."&output=csv&key=".$google_api_key); curl_setopt($curl_req, CURLOPT_HTTPHEADER, $str); curl_setopt($curl_req, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($curl_req, CURLOPT_RETURNTRANSFER, TRUE); $curl_res = curl_exec($curl_req); //Dir API Rückgabe (CSV) in ein Array überführen $position = explode(",",$curl_res); //Lat und Long aus dem Array in eigene Variablen zur Weiterverarbeitung speichern $lat=$position[2]; $long=$position[3]; echo ""; function distance($lat1, $lon1, $lat2, $lon2, $unit) { $theta = $lon1 - $lon2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; $unit = strtoupper($unit); if ($unit == "K") { return ($miles * 1.609344); } else if ($unit == "N") { return ($miles * 0.8684); } else { return $miles; } } echo distance(51.3(#START - LAT#), 12.3(#START - LONG#), $lat, $long, "k") . " kilometer"; ?>

  • Der Himmel – Bei der Geburt und am 21.12.2012 « SHAMBALA sagt:

    […] Erstellt mit: Sky above – http://www.fourmilab.ch Mit Google Maps Längen- und Breitengrad ermitteln […]

  • Karsten Sawade Internet Consultant sagt:

    Vielen Dank für das Script!

    Ist genau das was ich für eine OpenSource Map-Lösung gebraucht habe.

Anmerkungen oder Kommentare?

Tragen Sie weiter unten Ihren Kommentar ein oder setzten einen trackback von Ihrer Seite.

Bitte kein Spam, die Umgangsformen wahren und beim Thema bleiben. Danke

Folgende tags sind erlaubt:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Dieser Blog benutzt die Gravatar-Funktion. Den eigenen Avatar gibt es hier.