Visualizzazione dei risultati da 1 a 8 su 8

Discussione: ciclo for e variabile

  1. #1

    ciclo for e variabile

    Salve volevo sapere: avendo un ciclo for è possibile che una variabile cosi
    var nome, diventi

    var nome1 = etc
    var nome2 = etc
    var nome3 = etc

    cosi da essere una variabile sempre diversa?

    mi serve per collegare i marker di una mappa

  2. #2
    guardati la funzione eval

    eval('var miaVariabile'+indice+' = etc');

  3. #3
    come dovrei applicarlo in un caso del genere? non l'ho capito molto:

    codice:
    for (i=0; i <= data.test.length; i++) { 
     var image =  new google.maps.MarkerImage(
              	 ''+data.test[i].marker+'',
              	 new google.maps.Size(32,37),
              	 new google.maps.Point(0,0),		
              	 new google.maps.Point(16,35)			
              );
    		  	
    var marker = new google.maps.Marker({
              	position: new google.maps.LatLng(data.test[i].latitude, data.test[i].longitude), 
              	animation: google.maps.Animation.DROP,
                    map: map,
                    title: data.test[i].nome,
                    icon: image,
                    shadow: shadow
                });
    }

  4. #4
    eval('var image'+i+' = new google.maps.MarkerImage(
    '+data.test[i].marker+',
    new google.maps.Size(32,37),
    new google.maps.Point(0,0),
    new google.maps.Point(16,35));
    ')

    spero di non aver fatto casini con le virgolette

  5. #5
    non mi funziona c'è da dire che poi per es var image1 deve essere richiamato in icon nel marker

    es:
    codice:
    for (i=0; i <= data.test.length; i++) { 
     var image1 =  new google.maps.MarkerImage(
              	 ''+data.test[i].marker+'',
              	 new google.maps.Size(32,37),
              	 new google.maps.Point(0,0),		
              	 new google.maps.Point(16,35)			
              );
    		  	
    var marker = new google.maps.Marker({
              	position: new google.maps.LatLng(data.test[i].latitude, data.test[i].longitude), 
              	animation: google.maps.Animation.DROP,
                    map: map,
                    title: data.test[i].nome,
                    icon: image1,
                    shadow: shadow
                });
    }

  6. #6
    il funzionamento base è questo:
    var i=1;
    eval('prova'+i+'="xxxxx"');
    alert(prova1);

    nel popup comparirà xxxxx

    a partire da questo esempio dovresti riuscire a risolvere, fammi sapere, e ricordati le virgolette:eval vuole una stringa

  7. #7
    boh non va

    eval('image'+i+' = "new google.maps.MarkerImage(
    'uploads/images.png',
    new google.maps.Size(32,37),
    new google.maps.Point(0,0),
    new google.maps.Point(16,35));
    "');

  8. #8
    scusa ma ti restituisce errore? il codice che hai postato non lo posso provare dato che non ho data.test

    aspetta un attimo sto facendo una prova

    eval('image'+i+' = new google.maps.MarkerImage("uploads/images.png", new google.maps.Size(32,37), new google.maps.Point(0,0),new google.maps.Point(16,35))')

    copia questo così com'è, metti tutto su una riga, se no se vuoi metterlo in più righe devi concatenare con i "+", questo me l'ero dimenticato prima, solo mi sembra strano che non ti ha restituito l'errore SyntaxError: unterminated string literal, ma tu come debugghi il javascript?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.