0

我在 jsp 中编写了一个示例代码,使用 google api 在 jsp 页面上显示印度地图。问题是,一旦页面加载,地图就会显示出来,但它会在几秒钟后消失。我找不到错误。请帮忙

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="java.sql.*" %>
<%   
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>    
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
      <head>
        <base href="<%=basePath%>">
       <title>My JSP 'index.jsp' starting page</title>           
        <!-- <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="-1">     -->
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">             
        <!--<link rel="stylesheet" type="text/css" href="styles.css">-->
    <script src="http://maps.google.com/maps?file=api&v=2&key=YOURKEYHERE">
    </script>
    <body>
    <p><strong>locations in India</strong></p>
    <div id="map" style="width: 800px; height: 600px"></div>         
    <script type="text/javascript">                   
    var map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GScaleControl());
    map.setCenter(new GLatLng(23.402800, 78.454100), 5, G_NORMAL_MAP);
    function createMarker(point, number)
    {
    var marker = new GMarker(point);
    var html = number;
    GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
    return marker;
    };
    <%
        String userName = "root";
        String password = "root";
        String url = "jdbc:mysql://localhost:3306/test";
        try{
            String driver = "com.mysql.jdbc.Driver";
            Class.forName(driver).newInstance();
            Connection conn;
            conn = DriverManager.getConnection(url, "root","root");
            Statement s = conn.createStatement ();
            s.executeQuery ("SELECT *from latandlon1");
            ResultSet rs = s.getResultSet ();
            int count = 0;
            while (rs.next ()) {
                String lat = rs.getString ("lat");
                String lon = rs.getString ("lon");
                String address=rs.getString ("address");
                out.print("var point = new GLatLng(" + lat + "," + lon +");\n");
                out.print("var marker = createMarker(point,'" + address + "');\n");
                out.print("map.addOverlay(marker);\n");
                out.print("\n");
            }
            conn.close();
            rs.close ();
            s.close ();
        }
        catch(Exception ee){
            System.out.println(ee.toString());  
        }
    %>        
    </script>
   </body>
  </html>

加载中的页面,页面源码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="http://localhost:8999/servletapplication/">
   <title>My JSP 'index.jsp' starting page</title>       
    <!-- <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="-1">     -->
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">         
    <!--<link rel="stylesheet" type="text/css" href="styles.css">-->
<script src="http://maps.google.com/maps?file=api&=2&key=YOURKEYHERE">
</script>
<body>
<p><strong>locations in India</strong></p>
<div id="map" style="width: 800px; height: 600px"></div>    
<script type="text/javascript">               
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(23.402800, 78.454100), 5, G_NORMAL_MAP);
function createMarker(point, number)
{
var marker = new GMarker(point);
var html = number;
GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);});
return marker;
};
var point = new GLatLng(23.402800,78.454100);
var marker = createMarker(point,'madhyapradesh');
map.addOverlay(marker);    
var point = new GLatLng(26.280000,80.210000);
var marker = createMarker(point,'kanpur');
map.addOverlay(marker);    
var point = new GLatLng(31.122027,77.111664);
var marker = createMarker(point,'himachal pradesh');
map.addOverlay(marker);    
var point = new GLatLng(22.533000,88.367000);
var marker = createMarker(point,'kolkatha');
map.addOverlay(marker);    
var point = new GLatLng(33.450000,76.240000);
var marker = createMarker(point,'jammu and kashmir');
map.addOverlay(marker);    
var point = new GLatLng(16.508000,80.641700);
var marker = createMarker(point,'vijaywada');
map.addOverlay(marker);    
  </script>
 </body>
</html>
4

0 回答 0