Puedes incluir un Javascript para escribir los cordenatos GPS en una pregunta del tipo texto curto, por exemplo.
Aqui un ejemplo (probablemente de Tpartner):
Code:
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
// Identify this question
var q1ID = '{QID}';
var q1 = $('#question'+q1ID);
function getGPS() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showGPS, gpsError);
} else {
$('input.text', q1).val('No GPS Functionality');
}
}
function gpsError(error) {
//alert('GPS Error: '+error.code+', '+error.message);
}
function showGPS(position) {
$('input.text', q1).val(position.coords.latitude+', '+position.coords.longitude);
}
getGPS();
});
</script><script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
// Identify this question
var q1ID = '{QID}';
var q1 = $('#question'+q1ID);
function getGPS() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showGPS, gpsError);
} else {
$('input.text', q1).val('No GPS Functionality');
$('input:hidden[id^="answer"]', q1).val('No GPS Functionality');
}
}
function gpsError(error) {
alert('GPS Error: '+error.code+', '+error.message);
}
function showGPS(position) {
$('input.text', q1).val(position.coords.latitude+', '+position.coords.longitude);
$('input:hidden[id^="answer"]', q1).val(position.coords.latitude+';'+position.coords.longitude);
}
getGPS();
});
</script><script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
// Identify this question
var q1ID = '{QID}';
var q1 = $('#question'+q1ID);
// Click event for the button
$('.gpsLink').click(function(){
getGPS();
});
function getGPS() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showGPS, gpsError);
} else {
$('input.text', q1).val('No GPS Functionality');
$('input:hidden[id^="answer"]', q1).val('No GPS Functionality');
}
}
function gpsError(error) {
alert('GPS Error: '+error.code+', '+error.message);
}
function showGPS(position) {
$('input.text', q1).val(position.coords.latitude+', '+position.coords.longitude);
$('input:hidden[id^="answer"]', q1).val(position.coords.latitude+';'+position.coords.longitude);
}
});
</script>
Esto lo pones en el texto de la pregunta y la pregunta escondes, pero vía una clase de CSS "hidden" que puedes poner en las configuraciones avanzadas del la pregunta. No puedes usar el "always hide", porque no funciona con Javascript.
Pero, la persona va a tener que aceptar GPS en el navegador, cuando aparece el pedido. si no, no va a funcionar.