Javascript 使用二维数组从MySQL中检索数据

Javascript 使用二维数组从MySQL中检索数据,javascript,jsp,google-maps,google-maps-api-3,Javascript,Jsp,Google Maps,Google Maps Api 3,我正在研究谷歌地图api v3代码 我在MySQL中保存了所有标记,我想检索这些标记并在地图上显示它们。我正在寻找一个代码来实现这一点,但我发现所有的代码都使用xml文件来保存检索到的数据。我的想法不同,我可以从MySQL检索数据并将其保存在二维数组中 我想知道这是不是一个坏主意,会使我的网站变慢 以下是我的代码中的一些部分: markersDAO.java String searchQuery = "select * from map"; try {

我正在研究谷歌地图api v3代码

我在MySQL中保存了所有标记,我想检索这些标记并在地图上显示它们。我正在寻找一个代码来实现这一点,但我发现所有的代码都使用xml文件来保存检索到的数据。我的想法不同,我可以从MySQL检索数据并将其保存在二维数组中

我想知道这是不是一个坏主意,会使我的网站变慢

以下是我的代码中的一些部分:

markersDAO.java

  String searchQuery = "select * from map";
     try 
        {
            //connect to DB 
            currentCon = ConnectionManager.getConnection();
            stmt=currentCon.createStatement();
            rs = stmt.executeQuery(searchQuery);            
            int i=0;
            // if user does not exist set userExits to false
            while (rs.next()){
                m[i][0]=rs.getString(1);
                m[i][1]=Double.toString(rs.getDouble(2));
                m[i][2]=Double.toString(rs.getDouble(3));
                i++;
            }            
        }
     catch (Exception ex) 
        {
            System.out.println("Datamap failed 2: An Exception has occurred! " + ex);
        }

 return m;
googlemap.jsp


我认为你的想法可以很好地工作,我所做的是将数据保存在JSON对象上,在我生成一个包含所有标记信息的JSONArray并从Javascript函数中读取数据以在地图上创建标记之后,我所做的就是快速使用200个标记。 一些代码可以给你一些不同的想法:

JSONArray ajson = new JSONArray();
while(rset.next()){
    JSONObject json = new JSONObject();
    json.put("id_coord", rset.getString("IDCOORD"));
    json.put("nombreequipo", rset.getString("MarkerName"));
    json.put("lat", rset.getDouble(5));
    json.put("long", rset.getDouble(6));
    ajson.put(json);
}
关于javascript解析JSON

var data = JSON.parse(response);
for (var i=0; i<data.length; i++) {
    displayLocation(data[i]);
}
var data = JSON.parse(response);
for (var i=0; i<data.length; i++) {
    displayLocation(data[i]);
}
function displayLocation(location){
    var latLng = new google.maps.LatLng(parseFloat(location.latitud), parseFloat(location.longitud));
    var marker = new google.maps.Marker({
        position: latLng,
        map: map,
        icon: imagen,
        draggable: false,
        visible: true,
        title: location.nombreequipo
    });
}