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

Imágen de perfil
Val: 71
Ha aumentado 1 puesto en JavaScript (en relación al último mes)
Gráfica de JavaScript

Geolocalización mostrada en Google Mapsgráfica de visualizaciones


JavaScript

Publicado el 17 de Enero del 2015 por Txema (7 códigos)
6.100 visualizaciones desde el 17 de Enero del 2015
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)

Publicado el 17 de Enero del 2015gráfica de visualizaciones de la versión: 01.2015
6.101 visualizaciones desde el 17 de Enero del 2015
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)

Imágen de perfil
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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3008