Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/11/2012, 11:23
Avatar de maximendez88
maximendez88
 
Fecha de Ingreso: septiembre-2012
Ubicación: Montevideo
Mensajes: 131
Antigüedad: 11 años, 7 meses
Puntos: 3
Pregunta como mantener una ruta en google maps aunque actualice el navegador

buenas... soy algo nuevo en esto de google maps... estoy teniendo un problema el cual quizas alguien me pueda dar una mano... de principio tengo un mapa en google maps que me va pidiendo ciudades, y al ir agregandolas se va formando la ruta con marcadores, hasta ahi todo perfecto, mi problema esta que esta ruta cuando actualizo el navegador desaparece... alguien tiene alguna idea de como puedo hacer para que esta no desaparezca al actualizar el navegador? saludos dejo mi codigo por las dudas q alguien se apiade de mi alma....



Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <meta charset="utf-8" />
  4.  <script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
  5. <title>Test Google Maps</title>
  6. </head>
  7. <body>
  8.     <!-- MAPA -->
  9.     <div id="map_canvas" style="width: 600px; height: 600px;"></div>
  10.     <input type="text" name="ciudad" id="ciudad" /> <button onclick="agregarCiudad();">Agregar</button>
  11.    
  12.     <!-- funcion para agregar ciudad. La separo porque es sólo ejemplo -->
  13.     <script type="text/javascript">
  14.         function agregarCiudad(){
  15.             showAddress(document.getElementById('ciudad').value);
  16.             document.getElementById('ciudad').value = '';
  17.         }
  18.     </script>
  19.    
  20.     <script type="text/javascript">
  21.     //variables y objetos globales
  22.     var map             //mapa
  23.     var geocoder;       //geocoder
  24.     var _path = [];     // ruta
  25.     var _poliLinea = new google.maps.Polyline({ //polilinea
  26.         path: _path,
  27.         strokeColor: '#FF0000',
  28.         strokeOpacity: 1.0,
  29.         strokeWeight: 2
  30.     });
  31.  
  32.     //inicializo
  33.     initialize();
  34.  
  35.     function initialize() {
  36.         //centrado
  37.         var myLatLng = new google.maps.LatLng(37.4419, -122.1419);
  38.         //opciones
  39.         var mapOptions = {
  40.             zoom: 1,
  41.             center: myLatLng,
  42.             mapTypeId: google.maps.MapTypeId.TERRAIN
  43.         };
  44.         //geocoder
  45.         geocoder = new google.maps.Geocoder();
  46.         //creo mapa
  47.         map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
  48.        
  49.         //asigno polilinea al mapa
  50.         _poliLinea.setMap(map);
  51.     }
  52.  
  53.     function showAddress(s_address) {
  54.         var address = s_address;
  55.         //busco la direccion dada
  56.         geocoder.geocode( { 'address': address}, function(results, status) {
  57.           if (status == google.maps.GeocoderStatus.OK) {
  58.             //centro el mapa en el resultado
  59.             map.setCenter(results[0].geometry.location);
  60.             //creo marcador
  61.             var marker = new google.maps.Marker({
  62.                 map: map,
  63.                 position: results[0].geometry.location
  64.             });
  65.             //agrego punto a la linea
  66.             agregarRuta(results[0].geometry.location)
  67.           } else {
  68.             alert('Error: ' + status);
  69.           }
  70.         });
  71.      }
  72.      
  73.     function agregarRuta(o_punto){
  74.         //creo punto a partir de la dirección dada
  75.         var o_LL = new google.maps.LatLng(o_punto.Xa, o_punto.Ya)
  76.         //agrego el punto al array de la ruta
  77.         _path.push(o_LL);
  78.         //cargo la nueva ruta en la polilinea
  79.         _poliLinea.setPath(_path);
  80.         //centro el mapa en el último punto
  81.         map.setCenter(o_LL);
  82.         //Hago un poco de zoom
  83.         map.setZoom(6);
  84.     }
  85.     </script>
  86. </body>
  87. </html>