Joomla.it Forum
Non solo Joomla... => Sviluppo => : james81 15 Oct 2014, 17:44:00
-
Ciao a tutti!
ho un problema: do un view nella quale visualizzo una mappa contenente la posizione dell'utente.
Il tutto funziona tramite un javascript il qule passa poi ad una pagina le varibili.
$.ajax({
url: \"default.php\",
type: 'POST',
data: {'latitude' : latitude, 'longitude' : longitude },
ho inserito questo script nell view.html.php della mia vista, il problema è che non sò cosa inserire come pagina di destinazione
-
premesso che non ho capito perché sia nella view e come tu lo abbia inserito, come destinazione puoi inserire ciò che vuoi, oltre al tuo componente: od il nome di una view (differenziata o meno da quella html), o semplicemente una variabile task nel formato controller.task e quindi terminare l'esecuzione dell'applicazione nel controller. ovviamente tutto dipende da che devi fare e come lo devi fare.
ciao
-
quello che voglio visualizzare con questa view è appunto una mappa di dove si trova l'utente e quindi necessito di avere le varibili della lat e long sotto forma di varibili php da poter utilizzare / stampare all'interno del file default.php (della mia view).
Il lavoro di calcolo delle due variabile appunto viene fatto con un javascript, il problema è appunto dove posizionare questo script, tenendo conto che lo script passa le variabili ad una pagina
-
non puoi eseguire del js prima del php né usare js lato server... hai sbagliato qualcosa nel processo.
ps: se la mappa è la classica di google, allora puoi eseguire ambo i js lato client
-
lo script è questo:
$(document).ready(function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(ajaxCall);
}else{
alert('Il browser non supporta la geolocalizzazione');
}
function ajaxCall(position){
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
$.ajax({
url: "pagina.php",
type: 'POST', //I want a type as POST
data: {'latitude' : latitude, 'longitude' : longitude },
success: function(response) {
$('#log').html(response);
}
});
}
});
e poi pagina.php
<div id="log"><?php
echo 'Latitude: '.$_POST['latitude'].'<br>';
echo 'Latitude: '.$_POST['longitude'];
?>
</div>
quello che serve a è riuscire ad avere le varibili di pagina.php utilizzabili dentro la mi vista
-
ma è questo che vuoi fare?
http://www.w3schools.com/html/html5_geolocation.asp
..simpatico, pensa che io sto facendo un articolo su come "divertirsi" con questa funzionalità :)
-
sì esatto!!
proprio quello, il problema è quello di riuscire a recuperare le due variabili long e lat per eseguire una query
-
metti troppi problemi in uno.
Primo devi capire bene cosa può fare js e cosa php, dopo , tenendo conto ciò che ha detto Marco devi vedere come farlo.
Per averlo nella view non credo occorra tutto quel casino, basta stamparlo a video.
Per loggarlo è altra cosa.
quì mi sembra chiaro
http://stackoverflow.com/questions/23852413/get-geolocation-by-javascript-and-save-it-to-text-file-via-php
passi dal post e recuperi dal post nel controller, salvi col model e uccidi l'applicazione
guarda che questa funzionalità (ma un po' tutto html5) è una delle più amate dagli "hacker" perchè offre numerose possibilità di attacco.
Magari pova a leggerti qualche paper di Defcon o Blackhat così ti chiarisci le idee prima di fare danni
Quel dato non è di libero accesso e a meno che uno non sappia cos'è un pc difficilmente riesci ad ottenerlo senza il suo consenso e almeno non sia tuo fratello o abbia una motivazione più che valida per farlo non lo farà.
Dove trovi questa funzionalità abilitata è spesso nei browsers mobile perchè magari occorre ad altre applicazioni.