PDA

Ver la Versión Completa : error en ciclo!!!


MARLON1
10-02-2010, 23:42:04
que tal compañeros, pues miren tengo el siguiente condigo, pero al parecer estoy haciendo algo mal ya que no puedo almacenar nada en el arreglo point, las variables datosx y datosy si contienen datos ya que las imprimo antes, espero y puedes ayudarme, gracias

for (var i=0; i<=100; i++)
{
var point=
[

new GLatLng( <?php echo $datosy[i] ?> , <?php echo $datosx[i] ?> ),


];

}

droguerman
11-02-2010, 22:24:31
trata:

for (var i=0; i<=100; i++) {
var point= new Array (

new GLatLng( <?php echo $datosy[i] ?> , <?php echo $datosx[i] ?> ),

);

}

Julián
11-02-2010, 22:36:26
<?

// Se supone que tienes dos arrays en php de 100 posiciones cada
// uno, llamados $datosx y $datosy en donde guardas coordenadas.
// Así que lo que deberías hacer es usar php para generar el
// código javascript a partir de los datos de tus dos arrays.

// Algo mas o menos así:

?>

<script language="javascript">

var point = new array();

<?
for ($i=0; $i<=100; $i++)
{
echo "point[{$i}]=[new GLatLng( {$datosy[$i]} , {$datosx[$i]} )];\n";
}
?>

</script>

D-MO
12-02-2010, 18:33:45
Estimado drogerman, no se si el exceso de desvelo me está afectando, pero creo (a simple vista) que el código que has escrito no está del todo correcto:
trata:

for (var i=0; i<=100; i++) {
var point= new Array (

new GLatLng( <?php echo $datosy[i] ?> , <?php echo $datosx[i] ?> ),

);

}

Primero, por cada iteración del ciclo estás creando un nuevo "Array" en la variable "point" (que mas bién es una constante no definida pues no la antepone el signo "$"), lo que trae como consecuencia que los valores introducidos en las iteraciones anteriores sean destruidas por completo.

Segundo, los valores que le pasas al constructor de la clase GLatLng siempre van a ser nulos puesto que lo único que estás haciendo es "imprimir" al html los valores de tales variables, además de que las estás poniendo dentro de las etiquetas de php (<?php ?>) dentro del código php.

Veo que el código que has escrito no es mas que una modificación del código de MARLON1, no se cual será la configuración de su servidor puesto que no dice que le muestre advertencia alguna y estoy seguro que hay mas de 1 que mostrar.

Si no estoy mal, el código que has escrito quedaría mejor de la siguiente manera:


var $point= new Array ();
for (var i=0; i<=100; i++) {
$point[] = new GLatLng( $datosy[$i], $datosx[i]);
}

Corrígeme si me equivoco.

Saludos.

D-MO
12-02-2010, 18:38:12
Aunque viendo el código de Julian, no se en que parte me perdí, pero al parecer están hablando de javacsript?

si es así hacer caso omiso de mis errores en el código anterior.:D

Saludos

DriverOp
13-02-2010, 01:33:22
Yo también pensé lo mismo pero luego me di cuenta que el código es JavaScript con PHP. Está tratando de generar código fuente JavaScript desde PHP. La solución que ha dado Julián es la correcta.

Julián
13-02-2010, 01:52:30
Está tratando de generar código fuente JavaScript desde PHP.

Si, la clave es la variable "GLatLng", pues es el nombre de un objeto que se usa en el API de Google Maps para almacenar coordenadas (latitud y longitud) en "points".

Aunque ya nos dirá el amigo Marlon si es eso o no lo que necesita.

Un saludo!

MARLON1
08-04-2010, 17:18:45
Hola a todos:

El problema se soluciono con la respuesta de julian, muchas gracias a todos por la ayuda!!!
Saludos.:D