Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/01/2013, 09:26
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Usando API de google maps para geolocalizacion

franjgg:

Al crear el elemento lo haces cada vez que solicitas obtener_localizacion() sin borrar el anterior, por lo que te crea mapas sucesivos.

Algo sencillo (incluso prescindiendo de jQuery) puede ser esto:

Código Javascript:
Ver original
  1. var mapa = document.getElementById("mapa");
  2.   mapa.innerHTML = "<img src="+ image_url +">";
y en el <body> creas el div "mapa
Código HTML:
Ver original
  1. <div id="mapa"></div>

Con alguna pequeña modificación (declaración de caracteres, el script en el <head> y otra forma de definición de errores) el código de la página puede ser este:
Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
  3. <title>Mi mapa</title>
  4. <script language="javascript">
  5. var intevalo = setInterval('obtener_localizacion()',10000);
  6. function obtener_localizacion() {
  7.   if (navigator.geolocation) {
  8.         navigator.geolocation.getCurrentPosition(mostrar_mapa,gestiona_errores);
  9.   }else{
  10.     alert('Tu navegador no soporta la API de geolocalizacion');  
  11.   }
  12. }
  13. function mostrar_mapa(position) {
  14.   var latitud = position.coords.latitude;
  15.   var longitud = position.coords.longitude;
  16.   var image_url = "http://maps.google.com/maps/api/staticmap?sensor=false&center=" + latitud + "," +
  17.                    longitud + "&zoom=14&size=300x400&markers=color:red|label:P|" +
  18.                    latitud + ',' + longitud;
  19.   var mapa = document.getElementById("mapa");
  20.   mapa.innerHTML = "<img src="+ image_url +">";
  21. }
  22. function gestiona_errores(err) {
  23.   if (error.core == error.PERMISSION_DENIED) {
  24.     alert("El usuario no ha concedido los privilegios de geolocalización");
  25.   } else if (error.core == error.POSITION_UNAVAILABLE) {
  26.     alert("Posicion no disponible");
  27.   } else if (error.core == error.TIMEOUT) {
  28.     alert("Demasiado tiempo intentando obtener la localización del usuario.");
  29.   } else if (error.core == error.UNKNOWN) {
  30.     alert("Error desconocido");
  31.   } else {
  32.     alert("Error insesperado");
  33.   }
  34. }
  35. <!--<meta http-equiv="refresh" content="30">-->
  36. </head>
  37. <body onload="javascript:obtener_localizacion();">
  38. <p><a href="javascript:obtener_localizacion();">Mostrar Posición</a></p>
  39. <div id="mapa"></div>
  40. </body>
  41. </html>
Pueden existir otras formas de corrección del código.