Código de JavaScript - Geolocalización mostrada en Google Maps

Imágen de perfil

Geolocalización mostrada en Google Mapsgráfica de visualizaciones


JavaScript

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 19 de Enero del 2015 por txema (Creado el 17 de Enero del 2015)
2.073 visualizaciones desde el 17 de Enero del 2015. Una media de 28 por semana
A partir de los datos de geolocalización (Geolocalización basada en W3C) se muestran los datos en un mapa a página completa en Google Maps. (Se obvian detalles en código de geolocalización W3C).

Se excluyen librerías y efectos para mostrar los datos básicos en la ventana de información, con detalle de círculo de error máximo en la geolocalización.

Requerimientos

Es imprescindible acceder en <head> al API
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&amp;language=es"></script>

No son necesarias librerías ni otros accesos externos.

Presentado sobre HTML5 a pantalla completa (No se presenta el mapa sin la aprobación del usuario)

01.2015
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 18 de Enero del 2015 (Creado el 17 de Enero del 2015)gráfica de visualizaciones de la versión: 01.2015
2.074 visualizaciones desde el 17 de Enero del 2015. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html lang="es-ES">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1" />
	<meta name="description" content="Geolocalización mostrada con Google Maps">
    <title>Geolocalización mostrada con Google Maps</title>
<style type="text/css">
html,body{height:100%;margin:0;padding:0;font-family:Trebuchet MS,verdana,arial}
#mapa{height:100%}
</style>
    <script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&amp;language=es"></script>
<script type="text/javascript">
<!-- //
var map;
// Controlamos los tiempos respecto a la última petición de geolocalización
var PositionOptions = {
    timeout: 5000,
    maximumAge: 120000,
    enableHighAccurace: true
};
window.onload = function () {
    // Opciones del tipo de mapa y zoom
    var opciones = {
        zoom: 17,
        mapTypeId: google.maps.MapTypeId.ROADMAP 
		// Tipo de mapa elegido para mejor contraste de error de posición
		// Puede acceder a vista satélite, ...
    };
    map = new google.maps.Map(document.getElementById('mapa'), opciones);
	// Llamada a geolocalización de W3C
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(successCallback, errorCallback, PositionOptions)
    }
};
// Lo ya visto de geolocalización en W3C
function successCallback(position) {    
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    var accuracy = position.coords.accuracy;
    var latlng = new google.maps.LatLng(lat, lng);
    var marker = new google.maps.Marker({
        position: latlng,
        map: map,
        title: 'Mi posición'
    });
	// Se traslada el rango de error al mapa, dibujándolo
    var circulo = {
        strokeColor: "#008888",
        strokeOpacity: 0.6,
        strokeWeight: 5,
        fillColor: "#880088",
        fillOpacity: 0.3,
        geodesic: true, // sobre grandes círculos muestra la variación geodésica
        map: map,
        center: latlng,
        radius: accuracy
    };
    cityCircle = new google.maps.Circle(circulo)
    var infowindow = new google.maps.InfoWindow({
        content: 'Mi Geolocalización con W3CGeo y HTML5.<br>Latitud: ' + position.coords.latitude + '<br> Longitud: ' + position.coords.longitude + '<br>Rango de Error máximo de ubicación: ' + position.coords.accuracy + ' metros'});
    infowindow.open(map, marker);
    map.setCenter(latlng)
};
// Errores posibles de geolocalización
function errorCallback(error) {
    var appErrMessage = null;
    if (error.core == error.PERMISSION_DENIED) {
        appErrMessage = "El usuario no ha concedido los privilegios de geolocalización"
    } else if (error.core == error.POSITION_UNAVAILABLE) {
        appErrMessage = "Posición no disponible"
    } else if (error.core == error.TIMEOUT) {
        appErrMessage = "Demasiado tiempo intentando obtener la localización del usuario."
    } else if (error.core == error.UNKNOWN) {
        appErrMessage = "Error desconocido"
    } else {
        appErrMessage = "Error insesperado"
    }
    document.getElementById("mensaje").value=appErrMessage;
};
// -->
</script>
  </head>
  <body>
    <div id="mensaje" style="color:#AA0033;"></div>
    <div id="mapa"></div>
  </body>
</html>



Comentarios sobre la versión: 01.2015 (1)

Andrés Quintero
19 de Enero del 2015
estrellaestrellaestrellaestrellaestrella
Gran aporte. Gracias =)
Responder

Comentar la versión: 01.2015

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3008