HTML5

El HTML5 es un lenguaje para la creación y definición de páginas web.

Una de las mejoras que ofrece este lenguaje aparte del video, animaciones, (prescindir de Java) , es la geolocalización del usuario.

La localizacización de un usuario puede ser útil en aplicaciones de escritorio, pero sobretodo en aplicaciones web.

Hay muchos servicios web que ofrecen una base de datos con IP conocidas con su localización, pero ya hemos visto que la localización IP de vez en cuando  no suele ser muy eficaz y funcional ya que requiere mantener constante la actualización de la  base de datos de IP y no siempre muestra donde estas exactamente. 

Con los sistemas actuales, se necesita tener una base de datos de IP localizadas previamente, o poder disponer de una API (interfaz de programacion para aplicaciones) para acceder a un servicio similar enviándole la IP y devolviendo la ubicación. Este último ejemplo es la explicación de la tecnología de localización mediante el código HTML5. Quien recoge la información no es un servicio web o una base de datos como las aplicaciones existentes, si no que es el propio navegador web el que detecta la latitud y longitud.

La idea es obtener informacion de localización de los diferentes dispositivos como Wifi o GPS. Como sabemos, en los smartphones y teléfonos modernos ya vienen con GPS y todos los poprtátiles con Wi-FI. Esto significa que no es dificil obtener la informacion de localizacion a partir de estos dispositivos. Pero para hacer uso de ello, la información de ubicación ha de ser accesible a los sitios web a través del navegador.  

El consorcio World Wide Web (W3C) es una comunidad internacional que trabajan conjuntamente para crear estándares web.

Gracias a organizaciones como W3C, su especificaciones definien una API para acceder a secuencias de comandos de información de localización asociada co el dispositivo de alojamiento, tales como móviles o portátiles. La API de Geolocalización proporciona un interfaz de Geolocalización con una función del código (getCurrentPosition) que devuelve la información de longitud y latitud a las función que la invocó. Cuando esta funcion es utilizada, la información será recibida del proveedor de localización y después se pasa a otras funciones que utilizan la información y los datos obtenidos. 

Actualmente casi todos los navegadores que utilizamos normalmente, soportan la API de Geolocalización. 

Aquí podemos ver el ejemplo de cómo podemos habilitar esta función en Microsoft Internet Explorer

INSTRUCCIONES

1º Comprobar que la ubicación está habilitada.

PANEL DE CONTROL-->Privacidad-->Permitir que las aplicaciones usen mi ubicación ACTIVADO

2º Abrir Microsoft Visual Studio 2012

Abre una instancia de Visual studio 2012

3ºCrear un nuevo proyecto

Cuadro de diálogo--> NUEVO PROYECTO

4º Declara la funcionalidad de ubicación

Haz doble clic en PACKAGE.APPXMANIFEST en el explorador de soluciones. Selecciona la pestaña "Funcionalidad." Activa "Ubicacion" 

5º Insertar el código Javascript y HTML de la aplicación que figura más abajo

Abre el archivo "Default.html" y copia el código HTML que viene a continuación, sustituyéndolo por el original.

6º Realiza una prueba

-En el menú "Depurar" haz clic en "Iniciar depuración" para probar la solución

-Elige la Opción "Allow"

-Haz clic en "Get Location"

 

 

 

<!DOCTYPE html>  
<html>
<head>
<title>Geolocation API Example</title>

<script type="text/javascript">

    var nav = null; 

    function requestPosition() {
        if (nav == null) {
            nav = window.navigator;
        }

        var geoloc = nav.geolocation;
        if (geoloc != null) {
            geoloc.getCurrentPosition(successCallback, errorCallback);
        }

    }

    function successCallback(position) {
        document.getElementById("latitude").innerHTML = 
            position.coords.latitude;
        document.getElementById("longitude").innerHTML = 
            position.coords.longitude;
      
    }

    function errorCallback(error) {
        var strMessage = "";

        // Check for known errors
        switch (error.code) {
            case error.PERMISSION_DENIED:
                strMessage = "Access to your location is turned off. "  +
                    "Change your settings to turn it back on.";
                break;
            case error.POSITION_UNAVAILABLE:
                strMessage = "Data from location services is " + 
                    "currently unavailable.";
                break;
            case error.TIMEOUT:
                strMessage = "Location could not be determined " +
                    "within a specified timeout period.";
                break;
            default:
                break;
        }

        document.getElementById("status").innerHTML = strMessage;
    }

</script>
</head>
    <body>
        <label for="latitude">Latitude: </label> <div id="latitude"></div><br />
        <label for="longitude">Longitude: </label> <div id="longitude"> </div><br />
        <div id="status"> </div><br />
        <input type="button" onclick="requestPosition()" value="Get Latitude and Longitude"  /> 
    </body>

</html>

Además, Microsoft también nos ayuda a crear nuestra propia página web con reconocimiento de geolocalización. Más información en el siguiente Link: msdn.microsoft.com/es-ES/library/gg589502(VS.85).aspx