Buenas, soy relativamente nuevo en JavaScript, y estoy encontrandome con un problema, para una web, quiero almacenar la ubicacion deesde la que se conectan los usuarios, recojo las coordenadas con javascript, y posteriormente quiero hacer una llamada a la propia pagina, para enviar los datos por post, recogerlos con php y almacenarlos en la tabla crrespondiente, el problema es que la variable la envia vacia, tengo 2 alerts mostrando el contenido, y siempre me lo muestra en primer lugar vacio y despues con las coordenadas correctas, pero parece que cuando lo envia desde el formulario o ha perdido, o no ha llegado a almacenar los valores.
Tengo la sensacion de que no me he explicado muy bien, pero os dejo aqui el codigo:
Código:
<script type="text/javascript">
var coordjs="";
var coordjs2="";
(function(){
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(objPosition)
{
var lon = objPosition.coords.longitude;
var lat = objPosition.coords.latitude;
coordjs=lat+","+lon;
alert(coordjs+" 1");
}, function(objPositionError)
{
switch (objPositionError.code)
{
case objPositionError.PERMISSION_DENIED:
coordjs2 = "No se ha permitido el acceso a la posición del usuario.";
break;
case objPositionError.POSITION_UNAVAILABLE:
coordjs2 = "No se ha podido acceder a la información de su posición.";
break;
case objPositionError.TIMEOUT:
coordjs2 = "El servicio ha tardado demasiado tiempo en responder.";
break;
default:
coordjs2 = "Error desconocido.";
}
}, {
maximumAge: 75000,
timeout: 15000
});
}
else
{
coordjs = "Su navegador no soporta la API de geolocalización.";
}
alert(coordjs+" 2");
})();
</script>
<?php
if( isset($_POST['var_php']) ){
$coords=$_POST['var_php'];
echo $coords;
}else {
echo "<form action=$_SERVER[PHP_SELF] method=post name=enviar>
<input type=hidden name=var_php id='coordenadas'></form>";
echo "<script language='javascript'>
document.enviar.var_php.value='coordjs';
document.enviar.submit();
</script>";
}
?>
La variable que me esta dando problemas es coordjs, y ya no se que hacer para que me salga de la funcion con el valor de las coordenadas asignado.
Muchas gracias por la ayuda!!!
Un saludo!