Salvare le coordinate dell'utente in variabili globali (navigator.geolocation)

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
Rispondi
gianpagi
Messaggi: 78
Iscritto il: 31 mar 2016, 08:12

Salvare le coordinate dell'utente in variabili globali (navigator.geolocation)

Messaggio da gianpagi » 26 apr 2017, 15:27

Salve a tutti,
sto cercando di realizzare una applicazione che intercetti le coordinate dell'utente che accede salvandole in variabili globali (l'utente può anche non autenticarsi).
Le coordinate vengono ricavate con html5 (navigator.geolocation) e l'applicazione iniziale dovrebbe essere un modulo Dashboard accessibile a tutti (una parte in chiaro) e con menù differenti in base all'eventuale login e profilo degli utenti.

Come fare a salvare queste coordinate in delle variabili globali ?
Un saluto
Gianpaolo

Fabio
Messaggi: 449
Iscritto il: 20 feb 2014, 11:43

Re: Salvare le coordinate dell'utente in variabili globali (navigator.geolocation)

Messaggio da Fabio » 26 apr 2017, 16:33

Io penso sia meglio usare le API di Google, piuttosto che i tag HTML5.
Così facendo puoi facilmente gestirle via php, inoltre ci sono molte più funzionalità a disposizione.

gianpagi
Messaggi: 78
Iscritto il: 31 mar 2016, 08:12

Re: Salvare le coordinate dell'utente in variabili globali (navigator.geolocation)

Messaggio da gianpagi » 27 apr 2017, 08:43

si, ma per rilevare le coordinate dell'utente che sta navigando l'unica possibilità è utilizzare html5, poi tramite le Api di Google si possono fare azioni sulla base di queste coordinate.
Ma prima devono essere salvate in delle global

gianpagi
Messaggi: 78
Iscritto il: 31 mar 2016, 08:12

Re: Salvare le coordinate dell'utente in variabili globali (navigator.geolocation)

Messaggio da gianpagi » 27 apr 2017, 15:39

Ho risolto,
ho inserito del codice nell'evento onload di una app control che poi fa una chiamata al menu che inizializza le coordinate inviate in post:
onload app control

Codice: Seleziona tutto

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<script src="no link please:.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>

<!-- CUSTOM -->
<script type="text/javascript">
	 var latt ;
  var lonn;
   var redirect = '../menu/';
if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(mia_posizione);
}else{
  alert('La geo-localizzazione NON c possibile');
}


// jquery extend function
$.extend(
{
    redirectPost: function(location, args)
    {
        var form = $('<form></form>');
        form.attr("method", "post");
        form.attr("action", location);

        $.each( args, function( key, value ) {
            var field = $('<input></input>');

            field.attr("type", "hidden");
            field.attr("name", key);
            field.attr("value", value);

            form.append(field);
        });
        $(form).appendTo('body').submit();
    }
});

function mia_posizione(posizione) {
	 
  latt = posizione.coords.latitude;
  lonn = posizione.coords.longitude;
  
$.redirectPost(redirect, {lon: lonn, lat: latt});

}
	
</script>
<!-- CUSTOM -->
</head>
<body>



</body>
</html>

<?php

OnLoad della app iniziale menu

Codice: Seleziona tutto

 if (isset($_POST['lat'])) {
        [latitudine] = $_POST['lat'];
	 
	unset ($_POST['lat']);
    } else [latitudine]='non pervenuta';
    if (isset($_POST['lon'])) {
        [longitudine] = $_POST['lon'];
		unset ($_POST['lon']);
    } else [longitudine]='non pervenuta';
Saluti

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 0 ospiti