Ver Mensaje Individual
  #11 (permalink)  
Antiguo 03/07/2013, 15:48
Avatar de quinqui
quinqui
 
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: Google maps y for PHP

Mmh, ahora que veo con calma tu código, la verdad es que nunca trabajé esta api de esa forma, por eso no resulta muy compatible lo que te digo yo ahora con lo que tú tienes... Pero en fin, igual se puede.

Dices que con los markers no tienes problemas, o sea, que se muestran en el mapa, cierto? Ahora bien, se me ocurre que, e insisto, debes trabajar tanto markers como polylines en arrays javascript.

Me explico. Cuando recorres el ciclo que declara los markers, efectivamente los estás generando uno a uno y a medida que los declaras, aparecen en el mapa, por lo que cuando usas la misma variable javascript para generar otro, no hay peligro que pise los anteriores, porque ya están agregados al mapa, no?

Sin embargo, no ocurre lo mismo con las polylines, ya que no las estás mostrando a medida que las generas, sino que las dejas asociadas al evento click de cada marker. Pero como no hay ningún marker en memoria javascript (salvo el último del ciclo), pues las polilíneas sólo se asocian al último marker. Por eso, te digo trabajar con arrays, porque así la polilínea en la posición 10 va a estar asociada al marker de la posición 10, y así, etc.

En el código de mi último post, sólo tendrías que declarar el array de markers antes del ciclo donde imprimes los mismos.
Código PHP:
// declaras el array de markers javascript
var markers = new Array();
<?php  
// con php llenas este array en el ciclo for
?>

// declaras el array de lineas javascript
var polylines = new Array();
<?php  
// con php llenas este array en el ciclo for
?>
La verdad, es que siguiendo el curso de tu código, en vez de hacer una consulta para obtener las polilíneas, mejor recorres de nuevo el arreglo de markers (o sea, lo generas en javascript, pero también puedes dejar tu copia de seguridad en php en el mismo ciclo), y entonces, por cada marker haces efectivamente la consulta de su polilínea (porque creo que de hecho algo así haces, no?); de este modo, estás seguro que la posición en el array siempre va a ser la correspondiente.

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*