Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/01/2011, 11:25
Avatar de Cristy_blk
Cristy_blk
 
Fecha de Ingreso: abril-2010
Ubicación: Granada
Mensajes: 66
Antigüedad: 14 años, 8 meses
Puntos: 0
Ejecutar javascript desde jsp

Hola a tod@s, tengo un mapa y una base de datos donde almaceno el pronostico, estoy intentando marcar en el mapa los iconos que tengo almacenados en la base de datos con la fecha y el usuario que yo le pase, el problema es que no consigo que me saque las marcas.

Código:
<%@page import="java.sql.ResultSet"%>
<%@page import="entradasalida.Fecha"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<html>
    <head>
        <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

//aqui inicializo el mapa

        <script type="text/javascript">
            var mapa=null;
            var contador=1;
            var posicion=0;
            
            function inicializar() {
                var latlng = new google.maps.LatLng(40.380028,-3.735352);
                var opciones = {
                    zoom: 6,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.TERRAIN
                };
                mapa = new google.maps.Map(document.getElementById("mapa"), opciones);
            }

        </script>
    </head>

//ahora realizo la consulta a la base de datos para que me devuelva el pronostico

<body onload="inicializar()">
        <div id="mapa" style="width: 670px; height: 96%"></div>
<%
                Class.forName("com.mysql.jdbc.Driver");
                Connection conexion;
                conexion = DriverManager.getConnection("jdbc:mysql://localhost/meteorologia",
                        "tiempo",
                        "tiempo");
                Statement sentencia = conexion.createStatement();
                String u, fec;
                u = request.getParameter("usuario");
                fec = request.getParameter("fecha");
                Fecha f = new Fecha(fec);
                String sql = "select * from pronostico where usuario='" + u + "' && fecha='" + f.getFechaMysql() + "';";
                ResultSet rs = sentencia.executeQuery(sql);

                while (rs.next()) {
                    String usuario = rs.getString("usuario");
                    String fecha = rs.getString("fecha");
                    double latitud = rs.getDouble("latitud");
                    double longitud = rs.getDouble("longitud");
                    String imagen = rs.getString("imagen");
                    String zona = rs.getString("zona");
    %>

//aqui es donde tengo el problema porque si llamo a la funcion desde el body solo me saca la primera marca

    <script type="text/javascript">
        function ponermarcas(){
            var latlng = new google.maps.LatLng(<%=latitud%>,<%=longitud%>);
            var marca = new google.maps.Marker({
                position: latlng,
                map: mapa,
                draggable : false
            });
        }
    </script>

    <%
                }
    %>

    </body>
</html>
¿Como lo puedo hacer para que se ejecute la funcion hasta que termine el while???
gracias, espero haberme explicado bien XD