Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Javascript - Memorizzare lat lon API geolocal in database mysql
Forum - Javascript - Memorizzare lat lon API geolocal in database mysql

Avatar
giocala88 (Normal User)
Expert


Messaggi: 248
Iscritto: 23/04/2008

Segnala al moderatore
Postato alle 23:32
Mercoledì, 12/06/2013
Salve ragazzi, mi sono imbattuto in un progetto di geolocalizzazione. Girando in rete ho trovato delle API di google. Posto il codice
Codice sorgente - presumibilmente Delphi

  1. <p>Finding your location: <span id="status">checking...</span></p>
  2.  
  3. <script>
  4. function success(position) {
  5.   var s = document.querySelector('#status');
  6.  
  7.   if (s.className == 'success') {
  8.     // not sure why we're hitting this twice in FF, I think it's to do with a cached result coming back    
  9.     return;
  10.   }
  11.  
  12.   s.innerHTML = "found you!";
  13.   s.className = 'success';
  14.  
  15.   var mapcanvas = document.createElement('div');
  16.   mapcanvas.id = 'mapcanvas';
  17.   mapcanvas.style.height = '400px';
  18.   mapcanvas.style.width = '560px';
  19.    
  20.   document.querySelector('article').appendChild(mapcanvas);
  21.  
  22.   var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
  23.   var myOptions = {
  24.     zoom: 15,
  25.     center: latlng,
  26.     mapTypeControl: false,
  27.     navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
  28.     mapTypeId: google.maps.MapTypeId.ROADMAP
  29.   };
  30.   var map = new google.maps.Map(document.getElementById("mapcanvas"), myOptions);
  31.  
  32.   var marker = new google.maps.Marker({
  33.       position: latlng,
  34.       map: map,
  35.       title:"You are here! (at least within a "+position.coords.accuracy+" meter radius)"
  36.   });
  37. }
  38.  
  39. function error(msg) {
  40.   var s = document.querySelector('#status');
  41.   s.innerHTML = typeof msg == 'string' ? msg : "failed";
  42.   s.className = 'fail';
  43.  
  44.   // console.log(arguments);
  45. }
  46.  
  47. if (navigator.geolocation) {
  48.   navigator.geolocation.getCurrentPosition(success, error);
  49. } else {
  50.   error('not supported');
  51. }
  52. </script>



Una volta conosciuta la posizione dell'utente N vorrei salvare longitudine e latitutdine della stessa posizione trovata in una query mysql ma non ho la più pallida idea di come fare?!! 8-|
Mi aiutate perfavore? Grazie.

PM Quote
Avatar
Dario DF (Member)
Newbie


Messaggi: 19
Iscritto: 19/06/2013

Segnala al moderatore
Postato alle 21:46
Giovedì, 20/06/2013
Nella funzione success(position) position.coords.latitude e position.coords.longitude sono le coordinate

effettua una chiamata (o reindirizzamento) a una pagina con script lato server (es: PHP) che salva i dati su DB

ti consiglio di inviare latitudine e longitudine (e eventuali altri parametri) con ajax http://api.jquery.com/jQuery.ajax/

Codice sorgente - presumibilmente Plain Text

  1. // JS nella funzione success(position) includendo la libreria jQuery
  2. $.get("savePos.php", { lat: position.coords.latitude, lon: position.coords.longitude } );



Codice sorgente - presumibilmente Javascript

  1. <?php
  2. // Nello script PHP savePos
  3. // Attenzione questo codice non è sicuro, la pagina potrebbe non avere i dati POST richiesti
  4. // o questi porebbero contenere caratteri che potrebbero alterare il significato della query.
  5. // Questa è solo l'idea e non ci sono controlli di errori
  6.   $mysqli = new mysqli("localhost", "my_user", "my_password", "my_db");
  7.   $mysqli->query("INSERT INTO geoTable SET lat='$_POST[lat]', lon='$_POST[lon]'");
  8.   $mysqli->close();
  9. ?>



PM Quote