JS文件代码:
var map = null;
var currentMobile;
var ifPassEage=0;function pageLoad()
{
    resizeDiv();
}
//加载地图-------------
function initialize()
{   
       
       var map = new BMap.Map("myMap");
       var point = new BMap.Point(XXX.XXXXXX, XX.XXXXXX);
       map.centerAndZoom(point, 15);
              
       map.addControl(new BMap.NavigationControl());                    
       map.addControl(new BMap.ScaleControl());                         
       map.addControl(new BMap.OverviewMapControl());                   
       map.addControl(new BMap.MapTypeControl());                      
       map.enableScrollWheelZoom();                                    
       map.enableContinuousZoom(); }//当前定位
function CurrentPosition(sMobile)
{
    currentMobile = sMobile;
        
    //调用webservice,同时设置结果返回处理函数
    standard_v5.PointsClass7.ReturnCurrentPoint(currentMobile,DrawCurrentPosition);
      
}var updatetime;function DrawCurrentPosition(result)
{
    index = 0;
       
    if(result.length == 0)
    {
        alert("对不起,无此人定位信息!");
        return;
    }
    ifPassEage = 0;
      
    AddMarker(result);//当前定位
    
}function resizeDiv()
{  
     docWidth = document.documentElement.clientWidth;
     docHeight = document.documentElement.clientHeight;  
     document.getElementById("myMap").style.width = docWidth - 300 - 3;              
     document.getElementById("myMap").style.height = docHeight - 60 - 50 - 4;       
}
var updatetime;
function AddMarker(result)
{
   
   for(var i=0;i<result.length;i++)
    {
        //添加标记(定位点)
         var lat=result[i].Y.toString();      
         var lng=result[i].X.toString();
         var map = new BMap.Map("myMap");
         var point = new BMap.Point(lat,lng);
         var er = new BMap.Marker(point);
                 
         er.enableDragging(); //启用拖拽         map.addControl(new BMap.NavigationControl()); //左上角控件
         map.enableScrollWheelZoom(); //滚动放大
         map.enableKeyboard(); //键盘放大
         map.centerAndZoom(point, 13); //绘制地图
         map.addOverlay(er); //标记地图
         
         AddInfoWin(result[i].Time,result[i].Position,point);//标记信息
        
    }
           
}function AddInfoWin(content,Position,point)
    {         var map = new BMap.Map("myMap");
        var er = new BMap.Marker(point);
            
        var showinfo_Html;
        if(Position.length==0)
        {
           showinfo_Html= "<p style='text-align:left;margin:0;'>时间:"+ content +"</p>" ;
        }
        else
        {
           showinfo_Html= "<p style='text-align:left;margin:0;'>时间:"+ content +"</p><p style='text-align:left;margin:0;'>状态:"+Position+ "</p>";
        }
        
        alert(showinfo_Html);
        var opts = {
                width: 300,     // 信息窗口宽度  
                height: 100,     // 信息窗口高度  
                title: ""  // 信息窗口标题  
                    }
       
        var infoWindow = new BMap.InfoWindow(showinfo_Html, opts);  // 创建信息窗口对象
       
        map.centerAndZoom(point, 13); //绘制地图
        map.addOverlay(er); //标记地图
          
        er.addEventListener("click", function(){ 
        this.openInfoWindow(infoWindow); 
            });
      }此程序是通过读取数据库获得坐标,然后在地图上显示坐标点
现在坐标点在地图上显示了,点击坐标,也弹出框了,框里面也有数据了,但是此时地图却没能显示出来,现在地图一片空白,除了那个坐标点莫非在转到新的坐标点之前,地图要先清空map.clearOverlays()  ?

解决方案 »

  1.   

    <script src="https://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=AIzaSyBDlWX9djf2PjkXzDncufn_nm6PIgyWk5Y"
                type="text/javascript"></script>
    这个有没,而且key的自己注册一个,不然就不能用
      

  2.   


    我做的是百度地图,不是google地图
      

  3.   

    改成共用一个全局map变量试试,
    var map = null;
     
     
    var currentMobile;
    var ifPassEage=0;
     
    function pageLoad()
    {
        resizeDiv();
    }
    //加载地图-------------
     
     
    function initialize()
    {   
            
           ///var map = new BMap.Map("myMap");
           map = new BMap.Map("myMap");
           var point = new BMap.Point(XXX.XXXXXX, XX.XXXXXX);
           map.centerAndZoom(point, 15);
                   
           map.addControl(new BMap.NavigationControl());                    
           map.addControl(new BMap.ScaleControl());                         
           map.addControl(new BMap.OverviewMapControl());                   
           map.addControl(new BMap.MapTypeControl());                      
           map.enableScrollWheelZoom();                                    
           map.enableContinuousZoom(); 
     
    }
     
     
     
    //当前定位
    function CurrentPosition(sMobile)
    {
        currentMobile = sMobile;
             
        //调用webservice,同时设置结果返回处理函数
        standard_v5.PointsClass7.ReturnCurrentPoint(currentMobile,DrawCurrentPosition);
           
    }
     
    var updatetime;
     
    function DrawCurrentPosition(result)
    {
        index = 0;
            
        if(result.length == 0)
        {
            alert("对不起,无此人定位信息!");
            return;
        }
        ifPassEage = 0;
           
        AddMarker(result);//当前定位
         
    }
     
    function resizeDiv()
    {  
         docWidth = document.documentElement.clientWidth;
         docHeight = document.documentElement.clientHeight;  
         document.getElementById("myMap").style.width = docWidth - 300 - 3;              
         document.getElementById("myMap").style.height = docHeight - 60 - 50 - 4;       
    }
     
     
    var updatetime;
     
     
    function AddMarker(result)
    {
        
       for(var i=0;i<result.length;i++)
        {
            //添加标记(定位点)
             var lat=result[i].Y.toString();      
             var lng=result[i].X.toString();
             ////////////var map = new BMap.Map("myMap");//////////去掉,使用初始化中的变量
             var point = new BMap.Point(lat,lng);
             var er = new BMap.Marker(point);
                      
             er.enableDragging(); //启用拖拽
     
             map.addControl(new BMap.NavigationControl()); //左上角控件
             map.enableScrollWheelZoom(); //滚动放大
             map.enableKeyboard(); //键盘放大
             map.centerAndZoom(point, 13); //绘制地图
             map.addOverlay(er); //标记地图
              
             AddInfoWin(result[i].Time,result[i].Position,point);//标记信息
             
        }
                
    }
     
    function AddInfoWin(content,Position,point)
        { 
     
            /////var map = new BMap.Map("myMap");///////
            var er = new BMap.Marker(point);
                 
            var showinfo_Html;
            if(Position.length==0)
            {
               showinfo_Html= "<p style='text-align:left;margin:0;'>时间:"+ content +"</p>" ;
            }
            else
            {
               showinfo_Html= "<p style='text-align:left;margin:0;'>时间:"+ content +"</p><p style='text-align:left;margin:0;'>状态:"+Position+ "</p>";
            }
             
            alert(showinfo_Html);
            var opts = {
                    width: 300,     // 信息窗口宽度  
                    height: 100,     // 信息窗口高度  
                    title: ""  // 信息窗口标题  
                        }
            
            var infoWindow = new BMap.InfoWindow(showinfo_Html, opts);  // 创建信息窗口对象
            
            map.centerAndZoom(point, 13); //绘制地图
            map.addOverlay(er); //标记地图
               
            er.addEventListener("click", function(){ 
            this.openInfoWindow(infoWindow); 
                });
          }
      

  4.   

    你什么类型的浏览器?我这里firefox4,IE7,8都没问题。。
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
    <script type="text/javascript">
        var map = null;
        var currentMobile;
        var ifPassEage = 0;    function pageLoad() {
            resizeDiv();
        }
        //加载地图-------------
        function initialize() {        map = new BMap.Map("myMap"); 
            var point = new BMap.Point(116.404, 39.915);
            map.centerAndZoom(point, 15);        map.addControl(new BMap.NavigationControl());
            map.addControl(new BMap.ScaleControl());
            map.addControl(new BMap.OverviewMapControl());
            map.addControl(new BMap.MapTypeControl());
            map.enableScrollWheelZoom();
            map.enableContinuousZoom();
    /////////////////////////测试数据,5s后绘制overlay
            setTimeout(function () { DrawCurrentPosition([{Y:116.404, X:39.915,Time:'2012-11-11', Position:'广西桂林市'}]); }, 5000);
        }    //当前定位
        function CurrentPosition(sMobile) {
            currentMobile = sMobile;        //调用webservice,同时设置结果返回处理函数
            standard_v5.PointsClass7.ReturnCurrentPoint(currentMobile, DrawCurrentPosition);    }    var updatetime;    function DrawCurrentPosition(result) {
            index = 0;        if (result.length == 0) {
                alert("对不起,无此人定位信息!");
                return;
            }
            ifPassEage = 0;        AddMarker(result); //当前定位    }    function resizeDiv() {
            docWidth = document.documentElement.clientWidth;
            docHeight = document.documentElement.clientHeight;
            document.getElementById("myMap").style.width = docWidth - 300 - 3;
            document.getElementById("myMap").style.height = docHeight - 60 - 50 - 4;
        }
        var updatetime;
        function AddMarker(result) {        for (var i = 0; i < result.length; i++) {
                //添加标记(定位点)
                var lat = result[i].Y.toString();
                var lng = result[i].X.toString();
               // var map = new BMap.Map("myMap");
                var point = new BMap.Point(lat, lng);
                var er = new BMap.Marker(point);            er.enableDragging(); //启用拖拽            map.addControl(new BMap.NavigationControl()); //左上角控件
                map.enableScrollWheelZoom(); //滚动放大
                map.enableKeyboard(); //键盘放大
                map.centerAndZoom(point, 13); //绘制地图
                map.addOverlay(er); //标记地图            AddInfoWin(result[i].Time, result[i].Position, point); //标记信息        }    }    function AddInfoWin(content, Position, point) {        //var map = new BMap.Map("myMap");
            var er = new BMap.Marker(point);        var showinfo_Html;
            if (Position.length == 0) {
                showinfo_Html = "<p style='text-align:left;margin:0;'>时间:" + content + "</p>";
            }
            else {
                showinfo_Html = "<p style='text-align:left;margin:0;'>时间:" + content + "</p><p style='text-align:left;margin:0;'>状态:" + Position + "</p>";
            }        alert(showinfo_Html);
            var opts = {
                width: 300,     // 信息窗口宽度  
                height: 100,     // 信息窗口高度  
                title: ""  // 信息窗口标题  
            }        var infoWindow = new BMap.InfoWindow(showinfo_Html, opts);  // 创建信息窗口对象        map.centerAndZoom(point, 13); //绘制地图
            map.addOverlay(er); //标记地图        er.addEventListener("click", function () {
                this.openInfoWindow(infoWindow);
            });
        }
        window.onload = initialize;</script>
    <div id="myMap" style="width:700px;height:450px"></div>
      

  5.   

    问题找到了
    var lat=result[i].Y.toString(); 
    var lng=result[i].X.toString();          
    var point = new BMap.Point(lat,lng); 
    其中只要把lat和lng的位置换一下就可以了,也就是说,应该是
    var point = new BMap.Point(lng,lat); 也谢谢版主,设置全局变量解决了页面原先存在的一个脚本问题