Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    14

    Inviare latitudine da script google maps a pagina php

    salve a tutti vi pongo il mio problema:

    ho questo script che ho preso dalla documentazione di google develop

    questo script visualizza il punto sulla mappa della persona che visualizza la pagina.

    ora il mi problema è il seguente: devo fare in modo che dopo il caricamento della pagina le coordinate vengano inviate ad una pagina php pronta per riceverle in get , ma nn riesco a capire come devo fare . vi posto il codice dello script
    codice:
    <!DOCTYPE html>
    <html>
      <head>
        <title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <link href="defaults.css" rel="stylesheet">
        <!--
        Include the maps javascript with sensor=true because this code is using a
        sensor (a GPS locator) to determine the user's location.
        See: https://developers.google.com/apis/m...ecifyingSensor
        -->
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"></script>
    
        <script>
          var map;
    
          function initialize() {
            var mapOptions = {
              zoom: 6,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map_canvas'),
                mapOptions);
    
            // Try HTML5 geolocation
            if(navigator.geolocation) {
              navigator.geolocation.getCurrentPosition(function(position) {
                var pos = new google.maps.LatLng(position.coords.latitude,
                                                 position.coords.longitude);
    
                var infowindow = new google.maps.InfoWindow({
                  map: map,
                  position: pos,
                  content: 'Posizione Rilevata Tramite IP.'
    			  
                });
    
                map.setCenter(pos);
              }, function() {
                handleNoGeolocation(true);
              });
            } else {
              // Browser doesn't support Geolocation
              handleNoGeolocation(false);
            }
          }
    
          function handleNoGeolocation(errorFlag) {
            if (errorFlag) {
              var content = 'Error: The Geolocation service failed.';
            } else {
              var content = 'Error: Your browser doesn\'t support geolocation.';
            }
    
            var options = {
              map: map,
              position: new google.maps.LatLng(60, 105),
              content: content
            };
    
            var infowindow = new google.maps.InfoWindow(options);
            map.setCenter(options.position);
          }
    window.location.href = "myphpfile.php?name=" + pos;
          google.maps.event.addDomListener(window, 'load', initialize);
    	  
        </script>
      </head>
      <body>
        <div id="map_canvas"></div>
      </body>
    </html>

    Ho inserito il comando :
    codice:
    window.location.href = "myphpfile.php?name=" +pos;
    nella speranza di aprire un url contenente il valore della variabile pos ma niente non viene eseguito!


    in attesa di una vostra risposta

    cordiali saluti

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao, formatta il codice su più righe cosi è illeggibile
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    14
    ok formattato

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
     <script>
          var map;
    var pos;
          function initialize() {
            var mapOptions = {
              zoom: 6,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map_canvas'),
                mapOptions);
    
            // Try HTML5 geolocation
            if(navigator.geolocation) {
              navigator.geolocation.getCurrentPosition(function(position) {
              pos   = new google.maps.LatLng(position.coords.latitude,
                                                 position.coords.longitude);
    prova cambiando le righe in grassetto
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    14
    provato come dici tu vengo reindirizzato sulla pagina:

    myphpfile.php?name=undefined

    ti posto il codice modificato:




    codice:
    <!DOCTYPE html>
    <html>
      <head>
        <title>Google Maps JavaScript API v3 Example: Map Geolocation</title>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <link href="defaults.css" rel="stylesheet">
        <!--
        Include the maps javascript with sensor=true because this code is using a
        sensor (a GPS locator) to determine the user's location.
        See: https://developers.google.com/apis/m...ecifyingSensor
        -->
        <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"></script>
    
        <script>
           var map;
    var pos;
          function initialize() {
            var mapOptions = {
              zoom: 6,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map_canvas'),
                mapOptions);
    
            // Try HTML5 geolocation
            if(navigator.geolocation) {
              navigator.geolocation.getCurrentPosition(function(position) {
        pos   = new google.maps.LatLng(position.coords.latitude,
                                                 position.coords.longitude);
    
                var infowindow = new google.maps.InfoWindow({
                  map: map,
                  position: pos,
                  content: 'Posizione Rilevata Tramite IP.'
    			  
                });
    
                map.setCenter(pos);
              }, function() {
                handleNoGeolocation(true);
              });
            } else {
              // Browser doesn't support Geolocation
              handleNoGeolocation(false);
            }
          }
    
          function handleNoGeolocation(errorFlag) {
            if (errorFlag) {
              var content = 'Error: The Geolocation service failed.';
            } else {
              var content = 'Error: Your browser doesn\'t support geolocation.';
            }
    
            var options = {
              map: map,
              position: new google.maps.LatLng(60, 105),
              content: content
            };
    
            var infowindow = new google.maps.InfoWindow(options);
            map.setCenter(options.position);
          }
    window.location.href = "myphpfile.php?name=" + pos;
          google.maps.event.addDomListener(window, 'load', initialize);
    	  
        </script>
      </head>
      <body>
        <div id="map_canvas"></div>
      </body>
    </html>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma la funzione initialize() quando e come la richiami?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    14
    viene inizializzata al caricamento del DOM.

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sicuro? Non vedo nessun richiamo e comunque anche il location dovrà essere richiamato allo stesso modo
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    14
    il location viene richiamato ma l 'url di destinazione contiene la stampa della variabile in questo caso pos e visualizza il valore undefined , risultato variabile in GET : name=undefined


    quindi credo che la variabile pos arrivata al location non contiene più nulla dentro....non capisco come poterla passare.....non sono molto pratico di javascript....

    se hai la possibilità provala in locale...

    sto leggendo guide in giro altri post su come inviare variabili da javascript a php ...ma credo di aver capito bene....ma in questo script non và....


  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    no pos è una variabile globale inizialmente vuota è initialize() che la "valorizza", ma dal codice non viene richiamata pertanto la variabile resta vuota quando l'appendi alla location devi gestire il tutto tramite l'evento onload
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.