Geolocalización
En el siguiente ejemplo vamos a localizar la posición de un usuario obteniendo los valores de latitud y longitud del mismo, a través de la función getCurrentPosition().
<script>
var x = document.getElementById("demo");
function getLocation()
{
if (navigator.geolocation)
{navigator.geolocation.getCurrentPosition(showPosition);}
else{x.innerHTML = "Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
x.innerHTML = "Latitude: " + position.coords.latitude +
"Longitude: " + position.coords.longitude;
}
</script>
- Primero se comprueba si la Geolocalización está soportada.
- Si es así, arranca el proceso, sino se mostrará un mensaje al usuario.
- Si el proceso getCurrentPosition() es correcto, devolverá un objeto de coordenadas a la función especificada en el parámetro showPosition.
- La función showPosition() muestra los valores de latitud y longitud.
Presiona el botón para obtener tus coordenadas:
Drag and Drop
- Lo primero es convertir un elemento en arrastrable, mediante el atributo draggable.
- Después especificamos lo que ocurrirá cuando el elemento se arrastre. El atributo ondragstart llama a una función drag(event), que especifica que datos serán arrastrados.
- El evento ondragover específica donde puede ser arrastrado el elemento. Para permitir el arrastre llamaremos al evento event.preventDefault().
- Cuando soltemos al elemento arrastrado ocurrirá otro evento. En el ejemplo anterior al atributo ondrop llama a la función drop(event).
<div id="dragdrop1" ondrop="drop(event)" ondragover="allowDrop(event)"> <img src="../img/asuncion.png" draggable="true" ondragstart="drag(event)" id="drag1" width="96" height="96"> </div> <div id="dragdrop2" ondrop="drop(event)" ondragover="allowDrop(event)"> </div>
<script>
function allowDrop(ev)
{
ev.preventDefault();
}
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
