1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Meinen Standort (Geodaten) in Datenbank eintragen

Dieses Thema im Forum "PHP" wurde erstellt von medico, 26. September 2016.

  1. medico

    medico Erfahrenes Mitglied

    Hallo zusammen,

    ich möchte mir eine kleine Webseite bzw. ein Formular fertig machen, das meinen aktuellen Standort (Geodaten / Koordinaten) ermittelt und mit zusätzlichen Datenfeldern die ich ausfülle in eine Datenbank einträgt.

    Also wie ich ein ausgefülltest Formular in eine Datenbank eintrage weiß ich, aber ich würde halt gerne noch ein Textfeld haben in dem automatisch oder wenn ich einen Button drücke meine GPS Koordinaten (Latitude und Longitude) eingetragen werden.

    Ist das mittels PHP möglich? Wenn ja wie?

    Gruß
    Andreas
     
  2. sheel

    sheel I love Asm Administrator

    Hi

    PHP ist rein serverseitig, das kann dabei nicht helfen.

    Schau dir HTML5's Geolocation an.
    http://www.w3schools.com/html/html5_geolocation.asp

    (natürlich
    a) geht das nicht auf jedem Browser/Gerät,
    b) geht es je nach Nutzereinstellungen auch nicht, wegen Datenschutz,
    c) kann es auch hunderte Kilometer danebenliegen
    d)...
    Aber was Besseres gibts nicht)
     
  3. medico

    medico Erfahrenes Mitglied

    Hey super Danke :)

    Ich habe jetzt mal diesen Code versucht und das klappt wunderbar:
    HTML:
    1. <!DOCTYPE html>
    2. <html lang="de">
    3.     <meta charset="utf-8"/>
    4.     <title>HTML5 Geolocation Beispiel</title>
    5. </head>
    6.  
    7.     <div id="pos">
    8.         Deine Position wird ermittelt...
    9.     </div>
    10.    
    11.     <script>
    12.         navigator.geolocation.getCurrentPosition(function(position){
    13.             document.getElementById('pos').innerHTML = 'Latitude: '+position.coords.latitude+' / Longitude: '+position.coords.longitude;
    14.         }, function(){
    15.             document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
    16.         });
    17.     </script>
    18. </body>
    19. </html>
    es gibt aber noch einen Code da wird der Standort in einer Karte angezeigt. Das klappt auch:
    HTML:
    1. <!DOCTYPE html>
    2. <html lang="de">
    3.     <meta charset="utf-8"/>
    4.     <title>HTML5 Geolocation Beispiel mit Hilfe von Google Maps</title>
    5.    
    6.     <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
    7. </head>
    8.  
    9.     <div id="pos" style="width:800px; height:600px;">
    10.         Deine Position wird ermittelt...
    11.     </div>
    12.    
    13.     <script>
    14.         function initialize(coords) {
    15.             var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
    16.             var myOptions = {
    17.                 zoom: 8,
    18.                 center: latlng,
    19.                 mapTypeId: google.maps.MapTypeId.ROADMAP
    20.             };
    21.             var map = new google.maps.Map(document.getElementById("pos"), myOptions);
    22.            
    23.             var marker = new google.maps.Marker({
    24.                 position: latlng,
    25.                 map: map,
    26.                 title: "Hier bist du :)"
    27.             });
    28.         }
    29.  
    30.         navigator.geolocation.getCurrentPosition(function(position){
    31.             initialize(position.coords);
    32.         }, function(){
    33.             document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
    34.         });
    35.     </script>
    36. </body>
    37. </html>
    Jetzt würde ich aber gerne beides kombinieren. Also das mit der Werte der Latitude und Longitude angezeigt wird und auch noch zusätzlich die Karte.

    Habe versucht den Code zusammenzufügen, aber kriege das nicht hin. Kannst Du mir da helfen?
     
  4. sheel

    sheel I love Asm Administrator

    Sowas:
    HTML:
    1. <!DOCTYPE html>
    2.  
    3. <html lang="de">
    4.  
    5.     <meta charset="utf-8"/>
    6.     <title>HTML5 Geolocation Beispiel</title>
    7.  
    8.     <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
    9.  
    10.     <script>
    11.         function initializeMap(coords) {
    12.             var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
    13.             var myOptions = {
    14.                 zoom: 8,
    15.                 center: latlng,
    16.                 mapTypeId: google.maps.MapTypeId.ROADMAP
    17.             };
    18.             var map = new google.maps.Map(document.getElementById("pos2"), myOptions);
    19.  
    20.             var marker = new google.maps.Marker({
    21.                 position: latlng,
    22.                 map: map,
    23.                 title: "Hier bist du :)"
    24.             });
    25.         }
    26.     </script>
    27. </head>
    28.  
    29.     <div id="pos1">&nbsp;</div>
    30.     <div id="pos2">&nbsp;</div>
    31.  
    32.     <script>
    33.         navigator.geolocation.getCurrentPosition(
    34.             function(position) {
    35.                 document.getElementById('pos1').innerHTML = 'Latitude: '+position.coords.latitude+' / Longitude: '+position.coords.longitude;
    36.                 initializeMap(position.coords);
    37.             },
    38.             function() {
    39.                 document.getElementById('pos1').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
    40.             }
    41.         );
    42.     </script>
    43. </body>
    44. </html>
     
  5. medico

    medico Erfahrenes Mitglied

    Hmm..es wird mir nur die Werte angezeigt aber nicht die Karte
     
  6. medico

    medico Erfahrenes Mitglied

    Jetzt habe ich es hinbekommen danke
     
  7. medico

    medico Erfahrenes Mitglied

    Ach doch noch eine Sache ;)
    Wie bekomme ich die beiden Werte in eine Formularfeld, so dass ich es in meine Datenbank eintragen kann?
     
  8. sheel

    sheel I love Asm Administrator

    Ersetze
    Code (Text):
    1. document.getElementById('pos1').innerHTML
    mit
    Code (Text):
    1. document.getElementById('dieIdVonMeinerTextbox').value
     
    medico gefällt das.
  9. medico

    medico Erfahrenes Mitglied

    Wow klasse. DANKE
    Aber darf ich dich noch eine Sache fragen und dann bin ich glücklich
    Ich würde gerne die beiden Werte trennen, also jeder Werte in ein Formularfeld. Wie kriege ich das hin?
     
  10. medico

    medico Erfahrenes Mitglied

    Hat sich erledigt. Habs hinbekommen.
    Trotzdem ganz viele Dank
     
Die Seite wird geladen...