小弟新来的,实在想不出什么原因了
我在做一个google map的小网页,我的google map可以读取数据库中的坐标数据,很简单的内容但是使用起来非常不稳定,经常是在没有改变内容的情况下一会这里有问题一会那里有问题,偶尔可以用但是每次刷新的时候就会出现一个对话框。我测试以后发现问题应该是在链接数据库的时候有问题,但是我不清楚问题在哪里。请各位经验丰富的大侠指点迷津,高分奉送!!

解决方案 »

  1.   

    代码如下:
    <script language=javascript type="text/javascript">
          <!--
          function delay(numberMillis){
              var now=new Date();
              var exitTime= now.getTime()+numberMillis; 
              while(true){
              now = new Date(); 
              if(now.getTime() > exitTime) 
              return;
              }
             }
          var map = null;
          var user;
          function load() 
          {
                
                var cn = new ActiveXObject("ADODB.Connection");
                var strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source =C:\\locationData.mdb;Persist Security Info=False";
                
                cn.Open(strConn);
                
                user = document.getElementById("users").Value;
                //Create a new database record
                var rs = new ActiveXObject("ADODB.Recordset");
                
                //SQL
                var SQL = "select * from locationData where name= '" +user + "' order by id desc";
                
                //Connect to the database and retrieve data
                rs.Open(SQL,cn);
                //Declare the database data to variables
            var lat = rs("gps_pos_lat").Value;
                var lng = rs("gps_pos_lng").Value;
                var name = rs("name").Value;
                var phone = rs("source_tel").Value;
                var speed = rs("gps_speed(km)").Value;
                var direction = rs("gps_direction").Value;
                var altitude = rs("gps_altitude_meters").Value;
                var gstatus = rs("gps_status").Value;

                问题始终在红色区域            
                if (GBrowserIsCompatible()) 
               {
                   map = new GMap2(document.getElementById("map"));
                   //---display navigational controls---
                   map.addControl(new GLargeMapControl());
                   //---display Map/Satellite/Hybrid---
                   map.addControl(new GMapTypeControl());
                   //---fired when the map is dragged---
                   
                   map.enableDoubleClickZoom();
                   map.enableContinuousZoom();
                   map.enableScrollWheelZoom();
                   //set the center of the map
                   map.setCenter(new GLatLng(lat, lng), 17);
                   var infoTabs = [
                    new GInfoWindowTab("User Info", "Name:&nbsp&nbsp&nbsp&nbsp"+name+"<br/>Phone Number: "+phone),
                    new GInfoWindowTab("Status","GPS Status:"+gstatus+"<br/>Direction:"+direction),
                    new GInfoWindowTab("Coordinate","Latitude:"+lat+"<br/>Longitude:"+lng)
                    ];
                    var er = new GMarker(map.getCenter());
                    GEvent.addListener(er, "click",
                    function() {
                            //---open the er info tab---
                            er.openInfoWindowTabsHtml(infoTabs);
                    });
                   map.addOverlay(er);
                   er.openInfoWindowTabsHtml(infoTabs);
                   
                   document.forms[0].txtSpeed.value = speed;
                   document.forms[0].txtAltitude.value = altitude;
                   document.forms[0].txtName.value = name;
                   document.forms[0].txtPhone.value = phone;
                   map.setMapType(G_HYBRID_TYPE);
                   
                   GEvent.addListener(map, "moveend",
                   function()
                   {
                        var center = map.getCenter();
                        
                        document.getElementById("message").innerHTML=center.toString();
                    }
                    );
                  
                }
                
                //Close recordset and connection
                rs.Close();
                cn.Close();
                
                //delay(4000);
                
           }
          帮帮我吧!!