Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/11/2012, 15:11
dagj
 
Fecha de Ingreso: septiembre-2012
Mensajes: 14
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Reto para programadores, 2 códigos iguales, uno funciona el otro no ¿Por q

Gracias por hacerme ver el detalle de los paréntesis, el programa completo es un poco mas complejo, sin embargo lo que esta fallandome en este momento tiene que ver con 3 direcciones url:

La primera:
phpsqlajax_genxml3.php esta es para traer puntos de geolocalizacion de la BD (Es el primer codigo que describi)

La segunda:
distancia.php esta trae 4 puntos de la bd, latitud y longitud desde donde sale la linea y latitud y longitud del punto a donde llega la linea (pertenece al segundo codigo que describi)

En cuanto a la tercera:
Untitled-8(2).php tiene el principal, ese si coloque solo una parte, acá lo dejo completo.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>CORPOELEC</title>
    <script src="https://maps.google.com/maps?file=api&v=2&key=ABQIAAAAjU0EJWnWPMv7oQ-jjS7dYxTPZYElJSBeBUeMSX5xXgq6lLjHthSAk20WnZ_iuuzhMt60X_ukms-AUg"
            type="text/javascript"></script>

    <script type="text/javascript">
    //<![CDATA[

    var iconBlue = new GIcon(); 
    iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png';
    iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconBlue.iconSize = new GSize(3, 5);
    iconBlue.shadowSize = new GSize(6, 5);
    iconBlue.iconAnchor = new GPoint(2, 5);
    iconBlue.infoWindowAnchor = new GPoint(3, 1);

    var iconRed = new GIcon(); 
    iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png';
    iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png';
    iconRed.iconSize = new GSize(12, 20);
    iconRed.shadowSize = new GSize(22, 20);
    iconRed.iconAnchor = new GPoint(6, 20);
    iconRed.infoWindowAnchor = new GPoint(5, 1);

    var customIcons = [];
    customIcons["Cuadricula"] = iconBlue;
    customIcons["Subestacion"] = iconRed;

    function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(10.900, -63.800), 11);
 
  
 GDownloadUrl("phpsqlajax_genxml3.php", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
            var name = markers[i].getAttribute("name");
            var address = markers[i].getAttribute("address");
            var type = markers[i].getAttribute("type");
            var point = new GLatLng(parseFloat(markers[i].getAttribute("lat"),
			                        (parseFloat(markers[i].getAttribute("lng"))));
			 
            var marker = createMarker(point, name, address, type);
            map.addOverlay(marker);
          }
        });
      }
    }

    function createMarker(point, name, address, type) {
      var marker = new GMarker(point, customIcons[type]);
      var html = "<b>" + "Nombre: "+ type +" "+ name + "</b> <br/>" + address +" KVA" +"</b> <br/>";
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
	}
	
	
         GDownloadUrl("distancia.php", function (dat) {
	 var xml = GXml.parse(dat);
          var distance = xml.documentElement.getElementsByTagName("distanc");
          for (var i = 0; i < distance.length; i++) {
        var point = new GLatLng(parseFloat(distance[i].getAttribute("lat1")),
			                        (parseFloat(distance[i].getAttribute("lng1"))));
		var point2 = new GLatLng(parseFloat(distance[i].getAttribute("lat2")),
			                        (parseFloat(distance[i].getAttribute("lng2"))));
		
		 	var polyline = new GPolyline([new GLatLng(point) ,  new GLatLng(point2)]);
			 map.addOverlay(polyline);
			 poly.setMap(map);
				 return distanc;
		  

		  }});
		
       <?php  
  
 
  
  </script>

  <style type="text/css">
  #leyenda {
	position: absolute;
	left: 102px;
	top: 552px;
	width: 188px;
	height: 169px;
	z-index: 1;
	background-color: #FFF;
}
  #icono1 {
	position: absolute;
	left: 3px;
	top: 70px;
	width: 173px;
	height: 32px;
	z-index: 2;
}
  #icono2 {
	position: absolute;
	left: 2px;
	top: 116px;
	width: 173px;
	height: 32px;
	z-index: 2;
}
  </style>
  </head>

  <body onload="load()" onunload="GUnload()">
   <div id="mlala" style="width: 800px; height: 20px"> 
 

</div>
   
  <div id="map" style="width: 1800px; height: 820px"> </div>
     <div id="leyenda">
       <blockquote>
         <p><strong>Leyenda </strong>
       </p>
     </blockquote>
     <div id="icono1"><strong><img src="img/iconorojo.png" alt="" width="35" height="39" /> Subestaciones</strong></div>
    
     <div id="icono2"><strong><img src="img/iconoazul.png" alt="" width="35" height="39" /> Cuadriculas</strong></div>
    </div>
</body>
</html> 

Hay algunos detalle como colocar estilos en un .css y documentar el codigo, pero eso lo hago una vez que me funcione lo principal.

Otra cosa que quizás se te complique es que como trabaja con bd es difícil hacerlo funcionar en otra laptop o pc pq habria que montar al menos unos puntos en una bd y es trabajoso, sin embargo, se que el codio funciona pues cuando coloco coordenadas para crear los ponit y ponit2, al cargar el mapa se crea la linea perfectamente, el problema se presenta cuando no llega el archivo xml de lineas, se que el xml de puntos si llega por que cargan en el mapa.

HE probado con un echo en el html del xml que traeria las coordenadas para las lineas y resulta que la variable no llega, no se muestra nada, al contrario de los puntos, al mostrar un echo de esa llamada si me muestra el contenido del xml

Notese también que todo esta en una función onload() que carga al cargar la pagina

Creo que es toda la info que puedo darles amigos, de todas formas cualquier dudo de info que falte con gusto les informo.

Ah! haciendo echo de los xml en los url donde se hacen las consultas dan los resultados bien, es decir que la consulta de la BD se hace bien y quelos xml se crean bien, es decir, salen con contenido, el problema es la llegada.