Google Maps API Postleitzahl in Koordinaten umrechnen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Google Maps API Postleitzahl in Koordinaten umrechnen

    Hallo zusammen,

    ich bin gerade dabei für meine Community einen Service mit Google Maps zu realisieren. User können ihre Postleitzahl eingeben und werden dann gemeinsamm auf der Google Maps Karte angezeigt mit ein paar zusätzlichen Features.

    Leider habe ich folgendes Problem. Google Maps funktioniert auch schon recht gut. Daten werden schon aus der DB ausgelesen und auf der Kart emarkiert. Allerdings nur mit vordefinierten lon und lat Daten.

    Jetzt meine Frage. Kann ich dies irgendwie bewerkstelligen das ein User seine PLZ in ein Feld eingibt und automatisch lan und lon berechnet und in die DB gesepichert werden? Ich finde nichts nützliches. Es dürfte aber doch nicht schwer sein die PLZ bei der speicherung in lon und lat umzurechnen oder?
  • SQL PHP Abfrage

    Hallo zusammen,

    ich habe folgendes Problem.
    Ich habe google Maps auf meiner Community Seite integriert. Die User können ihre PLZ angeben und dieses wird dann auf der karte markiert.

    Ich habe eine Geodatenbank mit allen lat und lon Variablen inkl. Stadtnamen und PLZ. Jetzt möchte ich folgendes machen.

    User gibt PLZ an
    PLZ muss überprüft werden in der geo_db
    Wenn PLZ korrekt ist, dann soll er die PLZ und lat und lon Daten in die User_db kopieren damit google maps die Variablen lat und lon hat für die Darstellung.

    Ist das irgendwie möglich?
  • Mit dem GeoCoder hättest du den Vorteil, dass du immer die aktuellsten, komplettesten, weltweiten Daten hast.

    Aber ein lokaler Select ist natürlich schneller.

    eXcite schrieb:

    Es dürfte aber doch nicht schwer sein die PLZ bei der speicherung in lon und lat umzurechnen oder?

    Eben ;) Wo ist dabei das Problem?

    Quellcode

    1. SELECT long,lat FROM tab WHERE plz = $eingabe;

    Quellcode

    1. INSERT INTO user_pos VALUES ($userID,$plz,$long,$lat);
  • Hallo zusammen.

    Also ich komme hier nicht weiter:

    Quellcode

    1. if($_POST[plz]){ $format1 = $_POST[plz];
    2. mysql_query("SELECT long, lat FROM xxx_geo WHERE plz=$format1");
    3. if($format1_query<7)
    4. {
    5. mysql_query("INSERT INTO xxx_users VALUES ($plz,$long,$lat) WHERE id = '$user[id]'");
    6. $messageTitle = 'Postleitzahl gespeichert';
    7. $messageText = "Deine Postleitzahl wurde gespeichert. Ab jetzt sehen unsere Mitglieder woher du kommst.";
    8. }
    9. else
    10. {
    11. mysql_query("UPDATE xxxx_users SET plz='$format1' WHERE id = '$user[id]'");
    12. $messageTitle = 'Postleitzahl aktualisiert';
    13. $messageText = "Deine Postleitzahl wurde aktualisiert.";
    14. }
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von eXcite ()

  • Da fehlen Basics.. sorry, ab ins Tutorial: tut.php-quake.net/mysql-select-php.html.
    Am besten auch die Schritt davor wiederholen. Wenn du in PHP etwas ohne Anführungstriche schreibst, dann ist es eine Konstante. Und ich bin mir sicher du hast keine Konstante plz gesetzt.

    weiterer Tipp: während dem Programmieren immer mit error_reporting(E_ALL) arbeiten.
  • hmm.. ich hab mir das Tutoril angeschaut aber nochmal zu dem problem.

    So sieht die TPL Datei mit dem Formular aus.

    <form action="settings.php" method="post">
    <input name="toDo" type="hidden" value="plz" />
    Postleitzahl:<br />
    <input name="plz" type="text" class="textfeld" id="field3" size="10" />
    <br />
    <input type="submit" name="submit" value="Speichern" class="submitbtn" />
    </form>


    in der settings.php steht noch einiges anders drin das ich hier jetzt nicht auflisten möchte. So nun zur settings php.

    Quellcode

    1. else if($toDo == "plz" && $log){
    2. if($_POST['plz']){
    3. $format1 = $_POST['plz'];
    4. $result= mysql_query("SELECT lat, lon, plz FROM xxx_geo WHERE plz=$format1");
    5. if($result){
    6. mysql_query("INSERT INTO xxx_users (lat, lon, plz) VALUE ('test','test','$format1') WHERE id = '$user[id]'");
    7. $messageTitle = 'Postleitzahl gespeichert';
    8. $messageText = "Deine Postleitzahl wurde gespeichert. Ab jetzt sehen unsere Mitglieder woher du kommst.";
    9. }else{
    10. $messageTitle = 'Fehler';
    11. $messageText = "Deine Postleitzahl wurde nicht gespeichert.";
    12. }
    13. }else{
    14. $messageTitle = 'Fehler';
    15. $messageText = "Es ist ein Fehler aufgetreten. Bitte stelle auf jeden Fall sicher, dass Deine Postleitzahl im korrekten Format eingetragen wurde.";
    16. }
    Alles anzeigen

    Ich weiß einfach nicht mehr weiter.