Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    invocare una funzione javascript ad ogni iterazione di un while

    ciao a tutti....ho questa funzione che aggiunge alla geoMap un marker nel luogo ADDRESS ,e dentro il tooltip del marker mette la foto SRC


    function showAddress(address,src) {
    if (geocoder) {
    geocoder.getLatLng(
    address,
    function(point) {
    if (!point) {
    alert(address + " not found");
    } else {
    map.setCenter(point, 12);
    marker = new GMarker(point);
    map.addOverlay(marker);
    GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml(src);});
    marker.openInfoWindowHtml(address);
    }
    }
    );
    }
    }


    io devo leggere le foto dell'utente nel database,e usare il campo luogo per ADDRESS,e settare la stringa SRC.

    Io sono riuscito a far stampare tutte le foto con il nome dell'indirizzo di fianco,pero' non capisco come ad ogni iterazione del while posso chiamare la funzione showAddress,con la string SRC settata corettamente.



    Questo e' il codice JSP messo sotto il div che contiene la mappa:

    <%

    String field1 = "id_utente";
    rs = smt.executeQuery("SELECT id_utente FROM utente WHERE username = '"+user+"' ");
    rs.next();
    // recupero l'id_utente
    int us_id = rs.getInt("id_utente");
    // recupero l'id_foto di tutte le foto dell'utente
    rs = smt.executeQuery("SELECT id_foto, luogo FROM foto WHERE id_utente = '"+us_id+" '");

    while (rs.next())
    {
    String address = rs.getString(2); // contiene il campo luogo della foto
    /* per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina
    visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come
    parametro della query per la visualizzazione
    ogni foto � un link alla pagina di visualizzazione campi */
    %>
    <div id="foto">


    <img src = "visualizza.jsp?id=<%=rs.getInt("id_foto")%>" width="64" height="48" >
    <%out.println(address);%>
    </div>
    <%
    }
    %>

  2. #2
    il sete delle variabili l'ho risolto mettendo il src in una stringa:

    while (rs.next())
    {
    String address = rs.getString(2); // contiene il campo luogo della foto
    /* per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina
    visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come
    parametro della query per la visualizzazione
    ogni foto � un link alla pagina di visualizzazione campi */
    %>
    <div id="foto">


    <%

    String src = "<img src = " +"visualizza.jsp?id="+rs.getInt("id_foto")+ " width=64"+" height="+"48 >";


    %>


    </div>
    <%
    }
    %>



    mi manca da invocare la funzione javascript......

  3. #3
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da pacemaker
    il sete delle variabili l'ho risolto mettendo il src in una stringa:

    while (rs.next())
    {
    String address = rs.getString(2); // contiene il campo luogo della foto
    /* per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina
    visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come
    parametro della query per la visualizzazione
    ogni foto � un link alla pagina di visualizzazione campi */
    %>
    <div id="foto">


    <%

    String src = "<img src = " +"visualizza.jsp?id="+rs.getInt("id_foto")+ " width=64"+" height="+"48 >";


    %>


    </div>
    <%
    }
    %>



    mi manca da invocare la funzione javascript......
    visto che, come hai detto prima se nn so le cose devo stare zitto perchè ti scasso, allora ti do uno dei possibili metodi per chiamare una funzione javascript da dentro il codice lato server...

    allora. nel tuo ciclo while richiami direttamente la funzione javascript innestando le chiamate tramite il tag <script></script> cioè



    Codice PHP:
    <%
    while (
    rs.next())
    {
    String address rs.getString(2); // contiene il campo luogo della foto
    /*  per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come parametro della query per la visualizzazione
    ogni foto � un link alla pagina di visualizzazione campi */
    %>
    <
    div id="foto">
    <%
    String src "<img src = " +"visualizza.jsp?id="+rs.getInt("id_foto")+ " width=64"+" height="+"48 >";
    %>                                                                                                    </
    div>
    <
    script>showAddress(param1,param2)</script>
    <%
    }
    %> 
    dove param1 e param2 sono i parametri address e src che presumo ricavi ad ogni iterazione del ciclo, e che devi passare tramite JSP.


    la prossima volta rispetta un pò più tutte le persone che sono qui, che cercano di dare una mano o che semplicemente cercano un consiglio, o che semplicemente danno dei consigli...
    cmq per me storia chiusa.

    ciauz e spero che il metodo funzioni

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  4. #4
    la pagina viene compilata senza errori,....ma non funzona.o meglio i marker con le foto non si creano.
    Premetto che se stampo ad esempio

    codice:
    out.println(address);
    out.println(src);
    mi si stampano le foto e il luogo perfettamente!!!!


    ora il mio codice,sotto il tuo consiglio e' diventato:


    codice:
     while (rs.next())
    					{
    					String address = rs.getString(2); // contiene il campo luogo della foto
    					/*  per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina
    					    visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come
    					    parametro della query per la visualizzazione
    					    ogni foto � un link alla pagina di visualizzazione campi */
    					%>
    						<div id="foto">
    						
    						
    							<%
    							
    							String src = "<img src = " +"visualizza.jsp?id="+rs.getInt("id_foto")+ " width=64"+" height="+"48 >";
    							%>
    							<script> showAddress(<%=address%>,<%=src%>) </script> 
    							
    							
    							
    							
    						</div>
    					<%
    						}
    %>

  5. #5
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    ok... già che js non da errore diciamo che va bene
    usi per caso firebug per debuggare js?

    altra cosa. qual'è il codice html che ti da una volta acceduta alla pagina?
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  6. #6
    l'html relativo al div della mappa generato dalla jsp e':

    codice:
     <div id="maps" style="width: 500px; height: 300px">
    					 
    					 
    					  
                         </div>
                         
    						<div id="foto">
    
    						
    						
    							
    							<script> showAddress(Roma,<img src = visualizza.jsp?id=98 width=64 height=48 >) </script> 
    							
    							
    							
    							
    						</div>
    					
    						<div id="foto">
    						
    						
    							
    							<script> showAddress(Ferrara,<img src = visualizza.jsp?id=99 width=64 height=48 >) </script> 
    								
    							
    						</div>
    	
    					
    				</div>


    fire bug mi 2 errori proprio sulle 2 righe generate:

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Devi racchiudere i parametri tra apici singoli (e gli attributi tra quelli doppi)

    showAddress('Roma','[img]visualizza.jsp?id=98[/img]')
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    Originariamente inviato da fcaldera
    Devi racchiudere i parametri tra apici singoli (e gli attributi tra quelli doppi)

    showAddress('Roma','[img]visualizza.jsp?id=98[/img]')
    infatti dall'html si vede
    giusto....
    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

  9. #9
    adesso i parametri riesco apassarli correttamente...(ho testato con alert(address)...il problema e' che il geocoder rimane rimane a null e non mi mette nessun marker...mentre con il copdice che usavo prima nessun problema:

    CODICE FUNZIONANTE:

    Codice PHP:


    <%@ include file="controllo_login_utentePro.jsp" %>

    <%@ include 
    file="binarydata.jsp" %> 

    <%@ include 
    file="connection.jsp" %>


      <
    head>
        <
    meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
        <
    title>Google Maps API ExampleSimple Geocoding</title>
        <
    script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=ABQIAAAARhpPaFT__DispO47Jr3HbBTKeZTHXv6kchwAFaEvF-BVb7bkbxQDKBASJxHFts2kzf-JtcDhdf7cpg" type="text/javascript"></script>
       

        
         <script type="text/javascript">
        var map = null;
        var geocoder = null;
        var marker = null;
        
        function initialize() {
          if (GBrowserIsCompatible()) {
            map = new GMap2(document.getElementById("map_canvas"));
            map.setCenter(new GLatLng(44.837894, 11.62044), 12);
            geocoder = new GClientGeocoder();
             map.addControl(new GSmallMapControl());

            map.addControl(new GScaleControl());

            map.addControl(new GMapTypeControl());

            map.addControl(new GMapTypeControl());
            
          }
        }
        
        

        function showAddress(address) {
          if (geocoder) {
            geocoder.getLatLng(
              address,
              function(point) {
                if (!point) {
                  alert(address + " not found");
                } else {
                  map.setCenter(point, 12);
                  marker = new GMarker(point);
                  map.addOverlay(marker);
                  GEvent.addListener(marker, "click", function(){marker.openInfoWindowHtml('[img]http://tbn0.google.com/images?q=tbn:d-dEGLE3W-DYKM:[url]http://www.axialis.com/objects/ip_icon_04_snapshot_a_Scale1-1.jpg[/url][/img]');});
                 marker.openInfoWindowHtml(address);
                }
              }
            );
          }
        }
        </script>

      </head>

      <body onload="initialize()" onunload="GUnload()">
        
        <div id="map_canvas" style="width: 500px; height: 300px"></div>
       
        
    <%
    String user = (String)session.getAttribute("userid");
    String field1 = "id_utente";
      rs = smt.executeQuery("SELECT id_utente FROM utente WHERE username = '"+user+"' ");
      rs.next();
      // recupero l'id_utente
      int us_id = rs.getInt("id_utente");
      // recupero l'id_foto di tutte le foto dell'utente
      rs = smt.executeQuery("SELECT id_foto, luogo FROM foto WHERE id_utente = '"+us_id+" '");
      
      while (rs.next ())
                        {
                        String address = rs.getString(2); // contiene il campo luogo della foto
                        /*  per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina
                            visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come
                            parametro della query per la visualizzazione
                            ogni foto � un link alla pagina di visualizzazione campi */
                        %>
                            <div id="foto">
                                <img src = "visualizza.jsp?id=<%=rs.getInt("id_foto")%>" width="64" height="48" >
                                <%out.println(address);%>
                            </div>
                        <%
                            }
    %>
    <form action="#" onsubmit="showAddress(this.address.value); return false">
          

      
          <input type="hidden" name="address" value="Ferrara" />
       
            <input type="submit" value="Aggiungi geotag" />
            
          </p>
          
        </form>
       
      </body>
    </html> 




    con questo stampavo le foto e la localita' e mettevo un marker in ferrara con una foto statica.
    Eliminando il form che gli passa ferrara,e cambiando il jsp con


    Codice PHP:

    <%

    String field1 "id_utente";
      
    rs smt.executeQuery("SELECT id_utente FROM utente WHERE username = '"+user+"' ");
      
    rs.next();
      
    // recupero l'id_utente
      
    int us_id rs.getInt("id_utente");
      
    // recupero l'id_foto di tutte le foto dell'utente
      
    rs smt.executeQuery("SELECT id_foto, luogo FROM foto WHERE id_utente = '"+us_id+" '");
      
      while (
    rs.next ())
                        {
                        
    String address rs.getString(2); // contiene il campo luogo della foto
                        /*  per ogni riga risultante dalla query si visualizza la foto utilizzando lo script presente nella pagina
                            visualizza.jsp passandogli tramite url l'id della foto selezionata, il quale verr� utilizzato come
                            parametro della query per la visualizzazione
                            ogni foto � un link alla pagina di visualizzazione campi */
                        
                            
                                
                                
    String src "<img src = " " visualizza.jsp?id="+rs.getInt("id_foto")+ " width=64"+" height="+"48 >";
                                
                                %>
                                <
    scriptshowAddress('<%=address%>'</script>     
                        <%
                            }
    %> 

    il geocoder non va piu',,in quanto non entra nell'if(geocoder)...???????????????

  10. #10
    Utente di HTML.it L'avatar di byaur
    Registrato dal
    Aug 2004
    Messaggi
    1,061
    se nn entra nell'if l'oggetto geocoder non viene istanziato, cioè è null...
    prova con un alert se entra dentro questa funzione if (GBrowserIsCompatible()) {
    altrimenti il problema potrebbe essere l'inclusione del javascript o la key per le google maps...

    prova a non mettere var geocoder = null;, ma a mettere solo var geocoder;

    Chi di noi non vorrebbe
    sollevare il velo sotto cui sta nascosto il
    futuro...
    David Hilbert

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.