Estou usando a API do google map para exibir o mapa e marcar alguns pontos. Esses pontos que quero marcar estão salvos em uma base de dados oracle. Estou fazendo uma página JSP que busca no banco esses pontos e dentro dessa parte em JSP preciso jogar a função javascript que marca os pontos. Mas quando faço usando o out.println(""); não dá certo.
O código está assim:
<%
String lat="";
String longi="";
OracleDataSource ods;
Connection conexao = null;
ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:system/teste@lab6-04:1521:orcl");
conexao = ods.getConnection();
Statement stmt= conexao.createStatement();
PreparedStatement stmt2 = conexao.prepareStatement("SELECT lat, longi FROM pontos");
ResultSet rs=stmt2.executeQuery();
while(rs.next()) {
lat = rs.getString("lat");
longi = rs.getString("longi");
out.println("<script>var point = new GLatLng(lat,longi);</script>");
}
%>
O que quero é chamar uma função javascript dentro do JSP. Estou usando o jsp para conectar com o banco. Tenho a função javascript para exibir pontos em um mapa e tenho que chamar ela dentro do jsp. Conseguiu entender agora???
[quote=AndersonDutra]Estou usando a API do google map para exibir o mapa e marcar alguns pontos. Esses pontos que quero marcar estão salvos em uma base de dados oracle. Estou fazendo uma página JSP que busca no banco esses pontos e dentro dessa parte em JSP preciso jogar a função javascript que marca os pontos. Mas quando faço usando o out.println(""); não dá certo.
O código está assim:
<%
String lat="";
String longi="";
OracleDataSource ods;
Connection conexao = null;
ods = new OracleDataSource();
ods.setURL("jdbc:oracle:thin:system/teste@lab6-04:1521:orcl");
conexao = ods.getConnection();
Statement stmt= conexao.createStatement();
PreparedStatement stmt2 = conexao.prepareStatement("SELECT lat, longi FROM pontos");
ResultSet rs=stmt2.executeQuery();
while(rs.next()) {
lat = rs.getString("lat");
longi = rs.getString("longi");
out.println("<script>var point = new GLatLng(lat,longi);</script>");
}
%>
[/quote]
<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(-3.7503930643471297, -38.50778644540923), 14);
// Create our "tiny" marker icon
var icon = new GIcon();
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
var point1 = new GLatLng( -3.633443534326 , -38.475555555556 );map.addOverlay(new GMarker(point1 , icon));
[/code][/quote]
Esse código que vc colocou aqui é o que eu estou usando. Só que o meu eu uso jsp para conectar com o banco e lá no banco eu pego os pontos para marcar no mapa. O problema é jogar essa função point1 dentro do JSP que não está reconhecendo.
Muito Obrigado pela ajuda de vcs aí do fórum. Resolvi deste jeito:
while(rs.next()) {
lat = rs.getString("lat");
longi = rs.getString("longi");
cont++;%>
var point = new GLatLng(<%=lat %>,<%=longi %>);
map.addOverlay(new GMarker(point,icon));
<%}%>
Abri o while, fechei a parte jsp, coloquei o código javascript reabri a tag jsp, terminei o while e fechei a tag jsp. Agora vou arrumar a parte estrutural do código. Vou colocar aquela conexão em um java e jogar em um servlet. Brigadão!!!