Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/07/2013, 04:46
franjgg
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 2 meses
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!!