Foros del Web » Programando para Internet » Javascript »

Google Maps mostrar marcadores y enviar dirección para mostrarla

Estas en el tema de Google Maps mostrar marcadores y enviar dirección para mostrarla en el foro de Javascript en Foros del Web. Hola amigos, Vereis necesito usar la api de google maps para mostrar una serie de marcadores que recibo desde la base de datos, la cosa ...
  #1 (permalink)  
Antiguo 18/07/2013, 11:22
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Google Maps mostrar marcadores y enviar dirección para mostrarla

Hola amigos,

Vereis necesito usar la api de google maps para mostrar una serie de marcadores que recibo desde la base de datos, la cosa es que ademas necesito que pueda introducir una direccion y me la muestre tambien en el mapa junto a los demas carcadores.

He estado buscando en algun ejemplo pero no veo nada asi, a ver si alguien conoce de algun ejemplo que pueda ver para echarle un ojo.

Un saludo amigos!!
  #2 (permalink)  
Antiguo 19/07/2013, 02:12
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Google maps mostrar carcadores y enviar direccion para mostrarla

Nadie conoce algun ejemplo amigos!!
  #3 (permalink)  
Antiguo 19/07/2013, 02:47
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Google maps mostrar carcadores y enviar direccion para mostrarla

Hola franjgg de nuevo.

Para trasladar los marcadores desde una base de datos, la página oficial, muy completa, es https://developers.google.com/maps/a...lajax_v3?hl=es

Cuando dices "ademas necesito que pueda introducir una direccion y me la muestre tambien en el mapa junto a los demas carcadores" no sé si lo que quieres es que te muestre el nuevo marcador en ese momento o incluirlo en tu base de datos.

En el primer caso, https://developers.google.com/maps/d...overlays?hl=es Tienes muchas variables y ejemplos.

En el segundo, has de introducir la nueva ubicación en la base de datos y volver a llamarla.

Me vas contando los códigos que desarrolles y cómo te va.

Saludos.
  #4 (permalink)  
Antiguo 19/07/2013, 06:40
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Google maps mostrar carcadores y enviar direccion para mostrarla

Hola de nuevo txemaarbulo, gracias por tu atencion y perdon por no explicarmen bien.

Lo que quiero decir es que aparte de que nos cargue los marcadores de la base de datos que esto ya esta funcionando, necesitaria que mediente un campo de texto podamos introducir nuestra direccino y nos la muestre en el mapa junto con los demas marcadores pero sin que la guarde en la base de datos.

Espero haberme explicado bien disculpa amigo,

Un saludo!!
  #5 (permalink)  
Antiguo 19/07/2013, 14:33
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Google Maps mostrar marcadores y enviar dirección para mostrarla

Es algo muy parecido a lo que habíamos visto antes () pero con diferente función:

Por campo input: si tenemos las coordenadas, más fácil:
Código HTML:
Ver original
  1. <input type="text" id="xxx" value="37.890054, -4.778567" />
Código Javascript:
Ver original
  1. var mi_marcador_nuevo = document.getElementById('xxx').value;
Y después lo lanzamos:
Código Javascript:
Ver original
  1. var nuevomarker = new google.maps.Marker({
  2.         map: map,
  3.         position: mi_marcador_nuevo
  4.       });

Si lo que va en el input es una dirección, tenemos que acudir a geocoder: básicamente es esto
Código Javascript:
Ver original
  1. function codeAddress() {
  2.   var address = document.getElementById('xxx').value;
  3.   geocoder.geocode({
  4.     'address': address
  5.   }, function (results, status) {
  6.     if (status == google.maps.GeocoderStatus.OK) {
  7.       map.setCenter(results[0].geometry.location);
  8.       document.getElementById('xxx').value = results[0].formatted_address;
  9.       var marker = new google.maps.Marker({
  10.         map: map,
  11.         position: results[0].geometry.location
  12.       });
  13.     } else {
  14.       alert('Geocode no tuvo éxito por la siguiente razón: ' + status)
  15.     }
  16.   })
  17. }
:
En este caso, la función function codeAddress() es llamada desde
Código HTML:
Ver original
  1. <input type="button" value="Localizar" onclick="codeAddress()">

Los códigos que te envío son muy de memoria y pueden contener algún error.
También tienes la posibilidad de añadir un nuevo marcador por click:
Código Javascript:
Ver original
  1. google.maps.event.addListener(map, 'click', function (event) {
  2.         geocoder.geocode({
  3.             'latLng': event.latLng
  4.         }, function (results, status) {
  5.             if (status == google.maps.GeocoderStatus.OK) {
  6.                 if (results[0]) {
  7.                     document.getElementById('xxx').value=results[0].formatted_address;
  8.                     if (marker) {
  9.                         marker.setPosition(event.latLng)
  10.                     } else {
  11.                         marker = new google.maps.Marker({
  12.                             position: event.latLng,
  13.                             map: map
  14.                         })
  15.                     }
  16.                 } else {
  17.                     document.getElementById('mensaje').innerHTML = 'No se encontraron resultados'
  18.                 }
  19.             } else {
  20.                 document.getElementById('mensaje').innerHTML = 'Geocodificación  ha fallado debido a: ' + status
  21.             }
  22.         })
  23.     });

Tal vez lo más importante, es que metas tu nuevo marcador en una función aparte como te hice ya referencia.
  #6 (permalink)  
Antiguo 22/07/2013, 04:46
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Google Maps mostrar marcadores y enviar dirección para mostrarla

Amigo que tal,

Concretamente el codigo que uso para mostrar los marcadores es este:

Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="es">
  3.     <meta charset="UTF-8" >
  4.    
  5.     <title>dondelocompro</title>
  6.  
  7.  
  8. <!--[if gte IE 7]>
  9.  <link rel="stylesheet" type="text/css" media="screen, projection" href="css/style.css" />
  10. <![endif]-->
  11. <link rel="stylesheet" media="screen and (max-width:4100px)" href="css/style.css">
  12. <link media="only screen and (max-device-width: 640px)" href="css/movil.css" type="text/css" rel="stylesheet" />
  13.  
  14.     <script type="text/javascript">
  15.     var contador = 0;
  16.     function funcion() {
  17.     for (var i=0;i < document.forms["comercios"].elements.length;i++) {
  18.    inpt = document.forms[0].elements[i];
  19.    if (inpt.checked) {
  20.    contador++;
  21.    }
  22.    }
  23.    if(contador >= 9) {
  24.     alert('Puedes crear tu ruta seleccionando un máximo de 8 establecimientos');
  25.     contador = 0;
  26.     return false;
  27.     }
  28.     }
  29.     </script>
  30.        
  31. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  32. <script type="text/javascript">
  33.     var infowindow;
  34.     var bound;
  35.     var map;
  36.     (function () {
  37.  
  38.         google.maps.Map.prototype.markers = new Array();
  39.  
  40.         google.maps.Map.prototype.addMarker = function (marker) {
  41.             this.markers[this.markers.length] = marker;
  42.         };
  43.  
  44.         google.maps.Map.prototype.getMarkers = function () {
  45.             return this.markers
  46.         };
  47.  
  48.         google.maps.Map.prototype.clearMarkers = function () {
  49.             if (infowindow) {
  50.                 infowindow.close();
  51.             }
  52.  
  53.             for (var i = 0; i < this.markers.length; i++) {
  54.                this.markers[i].set_map(null);
  55.            }
  56.        };
  57.    })();
  58.  
  59.    function pintarDirecciones(puntos, latitudCliente, longitudCliente) {
  60.        
  61.        bound = new google.maps.LatLngBounds(null);
  62.        //var latlng = new google.maps.LatLng(37.88909, -4.76125);
  63.        var latlng = new google.maps.LatLng(0, 0);
  64.        var myOptions = {
  65.            zoom: 10,
  66.            center: latlng,
  67.            mapTypeId: google.maps.MapTypeId.ROADMAP
  68.            //mapTypeId: google.maps.MapTypeId.SATELLITE
  69.        };
  70.        map = new google.maps.Map(document.getElementById("map"), myOptions);
  71.  
  72.  
  73.  
  74.        function createMarker(name, latlng) {
  75.            var image = "http://www.dondelocompro.es/img/nuevas/home/ico_pincho.png";
  76.            
  77.            var marker = new google.maps.Marker({ position: latlng, map: map, icon: image });
  78.            google.maps.event.addListener(marker, "click", function () {
  79.                if (infowindow) infowindow.close();
  80.                infowindow = new google.maps.InfoWindow({ content: name, width: 10, height: 50, maxWidth: 300 });
  81.                infowindow.set("isdomready", false);
  82.                infowindow.open(map, marker);
  83.            });
  84.            return marker;
  85.        }
  86.  
  87.        function createMarker2(name, latlng) {
  88.  
  89.            var marker = new google.maps.Marker({ position: latlng, map: map });
  90.            infowindow = new google.maps.InfoWindow({ content: name, width: 100, height: 100, maxWidth: 100 });
  91.            infowindow.set("isdomready", false);
  92.            infowindow.open(map, marker);
  93.            google.maps.event.addListener(marker, "click", function () {
  94.                //if (infowindow) infowindow.close();
  95.                
  96.                infowindow = new google.maps.InfoWindow({ content: name, width: 100, height: 50, maxWidth: 100 });
  97.                infowindow.set("isdomready", false);
  98.                infowindow.open(map, marker);
  99.            });
  100.            return marker;
  101.        }
  102.  
  103.  
  104.  
  105.        var arrayPuntos = puntos.split("#");
  106.        var marca;
  107.        for (i = 0; i < arrayPuntos.length; i++) {
  108.            var punto = arrayPuntos[i].toString();
  109.            var punto1 = punto.split("$");
  110.            if (punto1.length > 2) {
  111.                
  112.                 var lat = punto1[1].replace(",", ".");
  113.                 var lon = punto1[2].replace(",", ".");
  114.                 //var point = new GPoint(lon, lat);
  115.                 var latlng = new google.maps.LatLng(lat, lon);
  116.                 var nombre = punto1[0].toString();
  117.                 marca = map.addMarker(createMarker(nombre, latlng));
  118.                 //var marker = createMarker(point, nombre);
  119.                 bound.extend(latlng);
  120.                 //bounds.extend(marker.getPoint());
  121.                 //map.addOverlay(marker);
  122.                 //map.centerAndZoom(point, 0);
  123.             }
  124.            
  125.             //map.setCenter(point, 13);
  126.         }
  127.  
  128.         if (latitudCliente != "" && longitudCliente != "") {
  129.            var latlngCliente = new google.maps.LatLng(latitudCliente.replace(",", "."), longitudCliente.replace(",", "."));
  130.  
  131.             var nombreCliente = "Tu estás aquí.";
  132.             var marcaCliente = map.addMarker(createMarker2(nombreCliente, latlngCliente));
  133.             bound.extend(latlngCliente);
  134.         }
  135.         //alert("Hola0");
  136.         //map.setZoom(20);
  137.         if (arrayPuntos.length > 1) {
  138.             //alert(arrayPuntos.length.toString());
  139.             map.fitBounds(bound);
  140.         }
  141.         else {
  142.             //alert("Hola2");
  143.             //map.setZoom(10);
  144.         }
  145.        
  146.        
  147.         //Ajustar el zoom según los límites
  148.         //map.setZoom(map.getBoundsZoomLevel(bounds));
  149.  
  150.         //Centrar el mapa de acuerdo a los límites
  151.         //map.setCenter(bounds.getCenter());
  152.    
  153.  
  154.     }
  155.  
  156.    
  157. </head>
  158.  
  159.  
  160.  
  161. <form action="negocios.php" method="POST" name="comercios" onsubmit="return funcion();">
  162. <div class="div_contenedor_fondo" >
  163.  
  164.  
  165.    
  166.  
  167.     <section>
  168.  
  169.             <div class="back" style="padding-left:10px;" align="top">
  170.  
  171.             <div class="mapa" style="padding-top:13px; height:100%;">
  172.                    <div id="map" style="width:97%; border:1px solid #00AEF4; height: 435px; color:#333333; font-family: Verdana, Arial, Helvetica, sans-serif; "></div>
  173.  
  174.  
  175.                 <table width="97%"  class="formulario_arriba">
  176.                 <tr><td colspan="2" style="background-color:#9DAAAE; padding:5px 0px 5px 10px;"> <span  style="color:#ffffff;font-weight:bold; font-size:10pt;">Crea tu ruta</span></td></tr>
  177.                 <tr><td>
  178.  
  179.  
  180.                   <table style="background-color:#EDEDED;" width="100%" cellpadding="0" cellspacing="0" border="0" style=" padding-top:10px;">
  181.                    
  182.                     <tr>
  183.                         <td valign="middle" style="padding:5px 0px 0px 0px;">&nbsp;
  184.                             <span  style="color:Black;font-weight:bold;">Tu dirección</span>
  185.                         </td>
  186.                         <td valign="middle" align="left" style="padding:5px 0px 0px 0px;">
  187.                         <input id="address" type="textbox" size="38" maxlength="80" value="" placeholder="Dirección" />
  188.                         <input type="button" class="navi" value="Localizar">               
  189.                         </td>
  190.  
  191.                     </tr>
  192.                     <tr>
  193.                         <td ></td>
  194.                         <td align="left" >
  195.                             <table width="100%" border="0" cellpadding="0" cellspacing="0">
  196.                                 <tr>
  197.                                     <td width="20%" valign="top" style="padding:5px 0px 0px 0px;">
  198.                                         <span style="color:Black;">Ejemplo:</span>
  199.                                     </td>
  200.                                     <td width="80%" align="left" valign="top" style="padding:5px 0px 0px 0px;">
  201.                                         <span  style="color:Black; ">C/ camino de los sastres, n 1, Córdoba</span>
  202.                                     </td>
  203.                                 </tr>
  204.                                 <tr>
  205.                                     <td colspan="2">&nbsp;</td>
  206.                                 </tr>
  207.                             </table>
  208.                         </td>
  209.                         <td ></td>
  210.                     </tr>
  211.  
  212.                 </table>
  213.             </td></tr>
  214.             </table>                                   
  215.             </div>
  216.  
  217.  
  218.    
  219.  
  220. </div>
  221.            
  222.  
  223.  
  224.  
  225. </div>
  226. <script type='text/javascript'> pintarDirecciones('<table border=0 cellpadding=0 cellspacing=0><tr><td align="left"><h3> MORENO Y RUIZ FERRETERIA, C.B. </h3></td></tr><tr><td align="left"><h4>Nos encontrarás en:<br><br>C/ Don Carlos Romero (local) <br></h4></td></tr></table>$37.891223$-4.7620716#<table border=0 cellpadding=0 cellspacing=0><tr><td align="left"><h3>FARMACIA R. FERNANDEZ</h3></td></tr><tr><td align="left"><h4>Nos encontrarás en:<br><br>Jesus Rescatado, sn <br></h4></td></tr></table>$37.890656$-4.759926#<table border=0 cellpadding=0 cellspacing=0><tr><td align="left"><h3>CALZADOS GIRONA</h3></td></tr><tr><td align="left"><h4>Nos encontrarás en:<br><br>La Viñuela 20 <br></h4></td></tr></table>$37.8887746$-4.763007#','','');</script>
  227. </form>
  228. </body>
  229. </html>

Tengo el formulario con el campo preparado pero no se como podria adaptarlo para que al introducir la direccin me mostrase la localizacion junto con los marcadores.

Un saludo y mil gracias amigo!!
  #7 (permalink)  
Antiguo 22/07/2013, 05:44
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Google Maps mostrar marcadores y enviar dirección para mostrarla

Para adaptarlo (siempre sobre tu cógigo):
En HTML: llamamos a la función codeAddress()
Código HTML:
Ver original
  1. <input type="button" class="navi" value="Localizar" onclick="codeAddress();" >
En Javascript, dos pasos:
1º: declarqación de geocoder arriba
Código Javascript:
Ver original
  1. var infowindow;
  2.         var bound;
  3.         var map;
  4.         var geocoder;  // importante incluirlo
2º, al final del javascript
Código Javascript:
Ver original
  1. function codeAddress() {
  2.       geocoder = new google.maps.Geocoder();
  3.       var address = document.getElementById('address').value;
  4.       geocoder.geocode({
  5.         'address': address
  6.       }, function (results, status) {
  7.         if (status == google.maps.GeocoderStatus.OK) {
  8.           map.setCenter(results[0].geometry.location);
  9.           var marker = new google.maps.Marker({
  10.             map: map,
  11.             position: results[0].geometry.location
  12.           });
  13.          
  14.           infowindow = new google.maps.InfoWindow({
  15.         content:results[0].formatted_address + '<br/> Latitud: ' + results[0].geometry.location.lat() + '<br/> Longitud: ' + results[0].geometry.location.lng()});
  16.           infowindow.open(map, marker);
  17.         } else {
  18.           alert('Geocode no tuvo éxito por la siguiente razón: ' + status);
  19.         }
  20.       });
  21.     }

OBSERVACIONES:
- Verás que el mapa no se ajusta a todos los marcadores más la nueva dirección, por lo que se habrá de elegir un zoom más amplio o incluir el map.fitBounds(bound); con los marcadores y la nueva dirección;
- El uso de tabla ralentiza la página. Te sugiero trabajar mediante <div> y darles forma con CSS. (Se recomienda evitar el uso de tablas en todo lo posible)
  #8 (permalink)  
Antiguo 22/07/2013, 06:06
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Google Maps mostrar marcadores y enviar dirección para mostrarla

Amigo acabo implementar el codigo que me has pasado y la cosa es que cuando carga la pagina muestra los marcadores pero cuando meto la direccion y pulso solo muestra la direccion que se ha enviado pero no los marcadores

El codigo me quedo asi:

Código PHP:
Ver original
  1. <!doctype html>
  2. <html lang="es">
  3. <head>
  4.     <meta charset="UTF-8" >
  5.    
  6.  
  7.  
  8. <!--[if gte IE 7]>
  9.   <link rel="stylesheet" type="text/css" media="screen, projection" href="css/style.css" />
  10. <![endif]-->
  11. <link rel="stylesheet" media="screen and (max-width:4100px)" href="css/style.css">
  12. <link media="only screen and (max-device-width: 640px)" href="css/movil.css" type="text/css" rel="stylesheet" />
  13.  
  14.     <script type="text/javascript">
  15.     var contador = 0;
  16.     function funcion() {
  17.     for (var i=0;i < document.forms["comercios"].elements.length;i++) {
  18.     inpt = document.forms[0].elements[i];
  19.     if (inpt.checked) {
  20.     contador++;
  21.     }
  22.     }
  23.     if(contador >= 9) {
  24.     alert('Puedes crear tu ruta seleccionando un máximo de 8 establecimientos');
  25.     contador = 0;
  26.     return false;
  27.     }
  28.     }
  29.     </script>
  30.        
  31. <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
  32. <script type="text/javascript">
  33. var infowindow;
  34.         var bound;
  35.         var map;
  36.         var geocoder;  // importante incluirlo
  37.        
  38.        
  39.     (function () {
  40.  
  41.         google.maps.Map.prototype.markers = new Array();
  42.  
  43.         google.maps.Map.prototype.addMarker = function (marker) {
  44.             this.markers[this.markers.length] = marker;
  45.         };
  46.  
  47.         google.maps.Map.prototype.getMarkers = function () {
  48.             return this.markers
  49.         };
  50.  
  51.         google.maps.Map.prototype.clearMarkers = function () {
  52.             if (infowindow) {
  53.                 infowindow.close();
  54.             }
  55.  
  56.             for (var i = 0; i < this.markers.length; i++) {
  57.                 this.markers[i].set_map(null);
  58.             }
  59.         };
  60.     })();
  61.  
  62.     function pintarDirecciones(puntos, latitudCliente, longitudCliente) {
  63.        
  64.         bound = new google.maps.LatLngBounds(null);
  65.         //var latlng = new google.maps.LatLng(37.88909, -4.76125);
  66.         var latlng = new google.maps.LatLng(0, 0);
  67.         var myOptions = {
  68.             zoom: 10,
  69.             center: latlng,
  70.             mapTypeId: google.maps.MapTypeId.ROADMAP
  71.             //mapTypeId: google.maps.MapTypeId.SATELLITE
  72.         };
  73.  
  74.        
  75.         map = new google.maps.Map(document.getElementById("map"), myOptions);
  76.                 geocoder = new google.maps.Geocoder()   ;  
  77.  
  78.  
  79.         function createMarker(name, latlng) {
  80.             var image = "http://www.dondelocompro.es/img/nuevas/home/ico_pincho.png";
  81.            
  82.             var marker = new google.maps.Marker({ position: latlng, map: map, icon: image });
  83.             google.maps.event.addListener(marker, "click", function () {
  84.                 if (infowindow) infowindow.close();
  85.                 infowindow = new google.maps.InfoWindow({ content: name, width: 10, height: 50, maxWidth: 300 });
  86.                 infowindow.set("isdomready", false);
  87.                 infowindow.open(map, marker);
  88.             });
  89.             return marker;
  90.         }
  91.  
  92.         function createMarker2(name, latlng) {
  93.  
  94.             var marker = new google.maps.Marker({ position: latlng, map: map });
  95.             infowindow = new google.maps.InfoWindow({ content: name, width: 100, height: 100, maxWidth: 100 });
  96.             infowindow.set("isdomready", false);
  97.             infowindow.open(map, marker);
  98.             google.maps.event.addListener(marker, "click", function () {
  99.                 //if (infowindow) infowindow.close();
  100.                
  101.                 infowindow = new google.maps.InfoWindow({ content: name, width: 100, height: 50, maxWidth: 100 });
  102.                 infowindow.set("isdomready", false);
  103.                 infowindow.open(map, marker);
  104.             });
  105.             return marker;
  106.         }
  107.  
  108.  
  109.  
  110.         var arrayPuntos = puntos.split("#");
  111.         var marca;
  112.         for (i = 0; i < arrayPuntos.length; i++) {
  113.             var punto = arrayPuntos[i].toString();
  114.             var punto1 = punto.split("$");
  115.             if (punto1.length > 2) {
  116.                
  117.                 var lat = punto1[1].replace(",", ".");
  118.                 var lon = punto1[2].replace(",", ".");
  119.                 //var point = new GPoint(lon, lat);
  120.                 var latlng = new google.maps.LatLng(lat, lon);
  121.                 var nombre = punto1[0].toString();
  122.                 marca = map.addMarker(createMarker(nombre, latlng));
  123.                 //var marker = createMarker(point, nombre);
  124.                 bound.extend(latlng);
  125.                 //bounds.extend(marker.getPoint());
  126.                 //map.addOverlay(marker);
  127.                 //map.centerAndZoom(point, 0);
  128.             }
  129.            
  130.             //map.setCenter(point, 13);
  131.         }
  132.  
  133.         if (latitudCliente != "" && longitudCliente != "") {
  134.             var latlngCliente = new google.maps.LatLng(latitudCliente.replace(",", "."), longitudCliente.replace(",", "."));
  135.  
  136.             var nombreCliente = "Tu estás aquí.";
  137.             var marcaCliente = map.addMarker(createMarker2(nombreCliente, latlngCliente));
  138.             bound.extend(latlngCliente);
  139.         }
  140.         //alert("Hola0");
  141.         //map.setZoom(20);
  142.         if (arrayPuntos.length > 1) {
  143.             //alert(arrayPuntos.length.toString());
  144.             map.fitBounds(bound);
  145.         }
  146.         else {
  147.             //alert("Hola2");
  148.             //map.setZoom(10);
  149.         }
  150.        
  151.        
  152.         //Ajustar el zoom según los límites
  153.         //map.setZoom(map.getBoundsZoomLevel(bounds));
  154.  
  155.         //Centrar el mapa de acuerdo a los límites
  156.         //map.setCenter(bounds.getCenter());
  157.    
  158.  
  159.     }
  160. function codeAddress() {
  161.       geocoder = new google.maps.Geocoder();
  162.       var address = document.getElementById('address').value;
  163.       geocoder.geocode({
  164.         'address': address
  165.       }, function (results, status) {
  166.         if (status == google.maps.GeocoderStatus.OK) {
  167.           map.setCenter(results[0].geometry.location);
  168.           var marker = new google.maps.Marker({
  169.             map: map,
  170.             position: results[0].geometry.location
  171.           });
  172.          
  173.           infowindow = new google.maps.InfoWindow({
  174.         content:results[0].formatted_address + '<br/> Latitud: ' + results[0].geometry.location.lat() + '<br/> Longitud: ' + results[0].geometry.location.lng()});
  175.           infowindow.open(map, marker);
  176.         } else {
  177.           alert('Geocode no tuvo éxito por la siguiente razón: ' + status);
  178.         }
  179.       });
  180.     }
  181.  
  182.  
  183.  
  184. </script>
  185.    
  186. </head>
  187.  
  188.  
  189. <body>
  190.  
  191. <form action="negocios.php" method="POST" name="comercios" onsubmit="return funcion();">
  192. <div class="div_contenedor_fondo" >
  193.  
  194.  
  195.    
  196.  
  197.     <section>
  198.  
  199.             <div class="back" style="padding-left:10px;" align="top">
  200.  
  201.             <div class="mapa" style="padding-top:13px; height:100%;">
  202.                    <div id="map" style="width:97%; border:1px solid #00AEF4; height: 435px; color:#333333; font-family: Verdana, Arial, Helvetica, sans-serif; "></div>
  203.  
  204.  
  205.                 <table width="97%"  class="formulario_arriba">
  206.                 <tr><td colspan="2" style="background-color:#9DAAAE; padding:5px 0px 5px 10px;"> <span  style="color:#ffffff;font-weight:bold; font-size:10pt;">Crea tu ruta</span></td></tr>
  207.                 <tr><td>
  208.  
  209.  
  210.                   <table style="background-color:#EDEDED;" width="100%" cellpadding="0" cellspacing="0" border="0" style=" padding-top:10px;">
  211.                    
  212.                     <tr>
  213.                         <td valign="middle" style="padding:5px 0px 0px 0px;">&nbsp;
  214.                             <span  style="color:Black;font-weight:bold;">Tu dirección</span>
  215.                         </td>
  216.                         <td valign="middle" align="left" style="padding:5px 0px 0px 0px;">
  217.                                        
  218.                         <input id="address" type="textbox" size="38" maxlength="80" value="" placeholder="Dirección" />
  219.       Latitud: <span id="x"></span>
  220.       <br />
  221.       Longitud: <span id="y"></span>                                               
  222. <input type="button" class="navi" value="Localizar" onclick="codeAddress();" > 
  223.                         </td>
  224.  
  225.                     </tr>
  226.                     <tr>
  227.                         <td ></td>
  228.                         <td align="left" >
  229.                             <table width="100%" border="0" cellpadding="0" cellspacing="0">
  230.                                 <tr>
  231.                                     <td width="20%" valign="top" style="padding:5px 0px 0px 0px;">
  232.                                         <span style="color:Black;">Ejemplo:</span>
  233.                                     </td>
  234.                                     <td width="80%" align="left" valign="top" style="padding:5px 0px 0px 0px;">
  235.                                         <span  style="color:Black; ">C/ camino de los sastres, n 1, Córdoba</span>
  236.                                     </td>
  237.                                 </tr>
  238.                                 <tr>
  239.                                     <td colspan="2">&nbsp;</td>
  240.                                 </tr>
  241.                             </table>
  242.                         </td>
  243.                         <td ></td>
  244.                     </tr>
  245.  
  246.                 </table>
  247.             </td></tr>
  248.             </table>                                   
  249.             </div>
  250.  
  251.  
  252.    
  253.  
  254. </div>
  255. </section>
  256.            
  257.  
  258.  
  259.  
  260. </div>
  261. <script type='text/javascript'> pintarDirecciones('<table border=0 cellpadding=0 cellspacing=0><tr><td align="left"><h3> MORENO Y RUIZ FERRETERIA, C.B. </h3></td></tr><tr><td align="left"><h4>Nos encontrarás en:<br><br>C/ Don Carlos Romero (local) <br></h4></td></tr></table>$37.891223$-4.7620716#','','');</script>
  262. </form>
  263. </body>
  264. </html>

Un saludo amigo y mil gracias, me esta ayudando mucho
  #9 (permalink)  
Antiguo 22/07/2013, 06:43
txemaarbulo
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Google Maps mostrar marcadores y enviar dirección para mostrarla

En las observaciones te indicaba que se habrá de elegir un zoom más amplio.
Los marcadores anteriores los tienes (reduce manualmente el zoom para verlo).

Puedes variar el zoom al insertar una nueva dirección incluyendo en function codeAddress() map.setZoom(12); ó el nivel de zoom nuevo que quieras darle.
  #10 (permalink)  
Antiguo 22/07/2013, 10:19
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 1 mes
Puntos: 4
Respuesta: Google Maps mostrar marcadores y enviar dirección para mostrarla

Buenas amigo txemaarbulo,

Perdona mi torpeza, he añadido tal como me has indicado:

Código Javascript:
Ver original
  1. map.setZoom(15);
  2.                     map.setCenter(bound.getCenter());

Y ahora funciona perfectamente.

Solamente me queda agradecerte enormemente la ayuda que me has prestado y darte mis puntos.

De nuevo mil gracias amigo!!

Funciona excelente.

Etiquetas: direccion, google, maps
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:31.