Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/08/2012, 04:58
sir_alvarix
 
Fecha de Ingreso: abril-2008
Mensajes: 20
Antigüedad: 16 años
Puntos: 0
Dibujar ruta para varios marcadores en Google Maps.

Hola!

Estoy haciendo un proyecto de la carrera y me encuentro con un problemilla que no sé resolver.

Quiero sacar en un mapa varios marcadores cuyas coordenadas tengo almacenadas en una base de datos, obtengo mediante la generación de un xml y voy sacando por javascript usando la API de Google Maps v3.

La parte javascript es algo como esto:

Código:
 var customIcons = {
     ....
    };

    function load() {
      var map = new google.maps.Map(document.getElementById("map"), {
        center: new google.maps.LatLng(37.176487, -3.597929),
        zoom: 13,
        mapTypeId: 'roadmap'
      });
      var infoWindow = new google.maps.InfoWindow;

      downloadUrl("genXML.php?id="+id, function(data) {
        var xml = data.responseXML;
        var markers = xml.documentElement.getElementsByTagName("marker");
        for (var i = 0; i < markers.length; i++) {
          var name = markers[i].getAttribute("name");
          var type = markers[i].getAttribute("type");
          var point = new google.maps.LatLng(
              parseFloat(markers[i].getAttribute("lat")),
              parseFloat(markers[i].getAttribute("lon")));
          var html = "<b>" + name + "</b> <br/>";
          var icon = customIcons[type] || {};
          var marker = new google.maps.Marker({
            map: map,
            position: point,
            icon: icon.icon,
            shadow: icon.shadow
          });
	  bindInfoWindow(marker, map, infoWindow, html);
        }
      });
    }

    function bindInfoWindow(marker, map, infoWindow, html) {
      google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(html);
        infoWindow.open(map, marker);
      });
    }

    function downloadUrl(url, callback) {
      var request = window.ActiveXObject ?
          new ActiveXObject('Microsoft.XMLHTTP') :
          new XMLHttpRequest;

      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          request.onreadystatechange = doNothing;
          callback(request, request.status);
        }
      };

      request.open('GET', url, true);
      request.send(null);
    }

    function doNothing() {}
Esto me da como resultado mostrar en el mapa todos los marcadores correspondientes.

Ahora bien, lo que necesito, es unir esos marcadores de manera que tuviese una RUTA, he probado con el método polyline pero no me hago con él.

Alguien me puede ayudar?

Gracias!!!