baidu地图调用示例

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
<link href="style/map.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="script/HttpRequest.js"></script>
<script type="text/javascript" src="script/jquery.js"></script>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2&ak=A6f53ee49f1e4da954a1a418a24c0d32"></script>
<script type="text/javascript">
var marker;
var map;
var jsr = '';
var markersArray = []; 
var X = new Array();
var Y = new Array();
var info = new Array();
var Code= new Array();
var S = new Array();
var initX = 40;
var initY = 120;
var initZ = 5;
var city = '';
var area = '';
var street = '';
var unittype = '';
var unitid = '';
var myic;

// 定义一个控件类,即function
function ZoomControl(){
  // 默认停靠位置和偏移量
  //this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;
  this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;
  this.defaultOffset = new BMap.Size(10, 10);
}

function setmapsize()
{
    // 网页可见区域
    var w = document.body.clientWidth;
    var h = document.body.clientHeight;
    //包括边线和滚动条的宽度
    //var w = document.body.offsetWidth;
    //var h =  document.body.offsetHeight;
    //$("#container").css({ "width": w +"px" });
    //$("#container").css({ "height": h +"px" });

    
    var map = new BMap.Map("container",{mapType:BMAP_NORMAL_MAP});
    var pt = new BMap.Point(initY,initX);
    map.centerAndZoom(pt, initZ); 
    //map.addControl(new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP,BMAP_HYBRID_MAP]}));     //2D图,卫星图
    map.addControl(new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP,BMAP_HYBRID_MAP],anchor: BMAP_ANCHOR_TOP_RIGHT}));   
    //map.setCurrentCity("长春");
    
    //map.enableScrollWheelZoom();
    //var marker = new BMap.Marker(pt);  
    //map.addOverlay(marker);  
    
    //var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>长春</p><p style='font-size:14px;'>联系电话:12345678</p>");
    //marker.addEventListener("click", function(){this.openInfoWindow(infoWindow);});
    
    map.addControl(new BMap.NavigationControl());  
    map.addControl(new BMap.ScaleControl());  
    map.addControl(new BMap.OverviewMapControl());
    var local = new BMap.LocalSearch(map, {
    renderOptions:{map: map}
    });    
    ZoomControl.prototype = new BMap.Control();
    ZoomControl.prototype.initialize = function(map){
      // 创建一个DOM元素
      var div = document.createElement("div");
      // 添加文字说明
      div.appendChild(document.createTextNode("放大2级"));
      // 设置样式
      div.style.cursor = "pointer";
      div.style.border = "1px solid gray";
      //div.style.backgroundColor = "white";
      div.style.width="90%";
      // 绑定事件,点击一次放大两级
      div.onclick = function(e){
        map.setZoom(map.getZoom() + 2);
      }
      // 添加DOM元素到地图中
      var me=document.getElementById("menu1");
      
      //map.getContainer().appendChild(me);
      // 将DOM元素返回
      return div;
    }
    // 创建控件
    var myZoomCtrl = new ZoomControl();
    // 添加到地图当中
    map.addControl(myZoomCtrl);
    //BMap.Convertor.translate(pot,0,translateCallback);

    //坐标转换完之后的回调函数
    translateCallback = function (pt){
        
        //var marker = new BMap.Marker(pt);
        //myic = new BMap.Icon(image, new BMap.Size(57, 32));
        //var marker = new BMap.Marker(point,{icon:myic,title:info[i] + '\n' + Code[i] + '\n\n' + S[i]});
        //map.addOverlay(marker);
        //bm.setCenter(point);
        alert(pt.lng + "," + pt.lat);
    }

    //坐标数据显示在地图上
    function showPoint() { 
        var image = '';
        //alert(X.length + ' ' + Y.length);
        if(X.length==0||Y.length==0)
        {
            moveTopos(initX, initY);  
            map.setZoom(initZ);           
            return;
        }
        var first = 0;
        for(var i=0;i<X.length;i++)
        {
            if(S[i]=='正常')
            {
                image = 'images/green_mk.png'; 
            }
            else if(S[i]=='监护运行')
            {
                image = 'images/yellow_mk.png'; 
            }
            else if(S[i]=='检验到期')
            {
                image = 'images/yellow_mk.png'; 
            }
            else if(S[i]=='30天后到期')
            {
                image = 'images/yellow_mk.png'; 
            }
            else if(S[i]=='超期检验')
            {
                image = 'images/orange_mk.png'; 
            }    
            else if(S[i]=='15天后到期')
            {
                image = 'images/orange_mk.png'; 
            }                  
            else if(S[i]=='故障报警')
            {
                image = 'images/red_mk.gif'; 
            }
            else if(S[i]=='超期未检')
            {
                image = 'images/red_mk.gif'; 
            }  
            else if(S[i]=='当天到期')
            {
                image = 'images/brown_mk.gif'; 
            }                        
            else
            {
                image = ''; 
            }  
            if(X[i]==0||Y[i]==0)
            {
                continue;
            }
            if(first==0)
            {
                var maxX = Math.max.apply(Math,X);
                var minX = getmin(X);
                var maxY = Math.max.apply(Math,Y);
                var minY = getmin(Y);
                var mdX = (parseFloat(maxX) + parseFloat(minX))/2;
                var mdY = (parseFloat(maxY) + parseFloat(minY))/2;
                initX = mdX;
                
                moveTopos(mdX,mdY);
                initZ = 13;
                map.setZoom(initZ); 
                first = 1;
            }
            var pot = new BMap.Point(Y[i], X[i]);
            //BMap.Convertor.translate(pot,0,translateCallback);
            
        }
    } 
    


    function getmin(array)
    {
        var j = 0;
        var min = 0;
        min = Math.max.apply(Math,array);
        for(var i=0;i<array.length;i++)
        {
            if(array[i]>0 && array[i]<min)
            {
                min = array[i];
            }
        }
        return min;
    }
    
    //移动到另一点
    function moveTopos(xp,yp) { 
        var point=new BMap.Point(yp,xp);
        map.setCenter(point);
        
        //var marker = new map.Marker(point);
        //map.addOverlay(marker);
    }

    //添加单击事件
    function addevent(marker,arg) 
    { 
        marker.addEventListener('click', function() { 
            var citylist = document.getElementById("citylist");
            window.location.href = 'invillage.aspx?code=' + arg;
        });
    }

    //显示全部坐标点
    function showAll() { 
        setfrm('all');
        showfrm('frm1');
        getProvin();                
    }

    function repairUnit() { 
        setfrm('un_repair');
        showfrm('frm1');
        getProvin();
        getUnit();
    }

    function useUnit() { 
        setfrm('un_user'); 
        showfrm('frm1');
        getProvin();
        getUnit();
    }

    function testUnit() { 
        setfrm('un_test');   
        showfrm('frm1');
        getProvin();
        getUnit();
    }

    function makeUnit() { 
        setfrm('un_maker');
        showfrm('frm1');
        getProvin();
        getUnit();
    } 
    
    function showState()
    {
        setfrm('state');
        showfrm('frm1');
        getProvin();
        getUnit();        
    }
    
    //删除坐标点
    function hiddenPoint()
    {
        if (markersArray) 
        {     
            for (i in markersArray) 
            {       
                //markersArray[i].setMap(null);     
                markersArray[i].remove();
            }   
        }
    }

    function btnokclick()
    {
        //alert('button');
        var citylist = document.getElementById('citylist');
        var unitlist = document.getElementById('unitlist');
        var arealist = document.getElementById('arealist');
        var streetlist = document.getElementById('streetlist');
        var sttype = document.getElementById('sttype');
        var flag = document.getElementById('flag');
        var unittype = flag.value;
        var unitid = '';
        if(unitlist.selectedIndex>=0)
        {
            unitid = unitlist.options[unitlist.selectedIndex].value;
        }
        var city = citylist.value;
        var area = arealist.value;
        var street = streetlist.value;
        var sttp = sttype.value;
        hiddenPoint();
        getNodes(city , area , street , unittype , unitid , sttp);
        closefrm();
    }

    //设置窗口
    function setfrm(text)
    {
        var lbl3 = document.getElementById('lbl3');
        var title = document.getElementById('frmtitle');
        var flag = document.getElementById('flag');
        var unitlist = document.getElementById('unitlist');
        flag.value = text;
        if(text=='all')
        {
            title.innerHTML = '城市全部显示';
            lbl3.innerHTML = '';
            unitlist.style.display='none';
        }
        else if(text=='un_repair')
        {
            title.innerHTML = '按维保单位显示';
            lbl3.innerHTML = '选择维保单位:';
            unitlist.style.display='block';            
        }
        else if(text=='un_user')
        {
            title.innerHTML = '按使用单位显示';
            lbl3.innerHTML = '选择使用单位:';
            unitlist.style.display='block';              
        }
        else if(text=='un_test')
        {
            title.innerHTML = '按检验单位显示';
            lbl3.innerHTML = '选择检验单位:';
            unitlist.style.display='block';              
        }
        else if(text=='un_maker')
        {
            title.innerHTML = '按制造单位显示';
            lbl3.innerHTML = '选择制造单位:';
            unitlist.style.display='block';              
        }        
        else if(text=='state')
        {
            title.innerHTML = '按状态查询显示';
            lbl3.innerHTML = '选择电梯状态:';
            unitlist.style.display='block';              
        }        
        else
        {
            title.innerHTML = '';
            lbl3.innerHTML = '';
            unitlist.style.display='none';              
        }        
    }  
    
    function closefrm()
    {
        var frm = document.getElementById('frm1');
        frm.style.visibility = 'hidden';
    }  
    
    function addfrm(div, map) { 
        var frm = document.getElementById(div);
        map.controls[google.maps.ControlPosition.TOP_CENTER].push(frm);
    } 

    //显示窗口
    function showfrm(frmName)
    {
        var frm = document.getElementById(frmName);
        frm.style.visibility = 'visible';
        var citylist = document.getElementById('citylist');
        //联动子列表清空
        citylist.options.length = 0;
    }
    
    //获取省份列表
    function getProvin()
    {
        function getProvinCallback()
        {
            var codes = new Array();
            var names = new Array();
            var prolist = document.getElementById("prolist");
            prolist.options.length = 0;
            if (httpRequest.readyState == 4) 
            {
                if (httpRequest.status == 200) 
                {
                    var data = httpRequest.responseXML;
                    var pcode = data.getElementsByTagName("pcode");
                    var pname = data.getElementsByTagName("pname");
                    prolist.options.add(new Option('',0));
                    for(i = 0; i < pcode.length; i++)
                    {
                        codes.push(pcode[i].childNodes(0).nodeValue);
                        names.push(pname[i].childNodes(0).nodeValue);
                        prolist.options.add(new Option(names[i],codes[i]));
                    }
                }
            }
        }  
        var httpRequest = XmlHttp.CreateXmlHttp();    
        var Result = getProvinCallback;
        var url = "ajax/ajaxprovin.aspx?timestamp=" + new Date().getTime();
        XmlHttp.SendRequest(httpRequest,url,Result);
    }
    
    //获取城市列表
    function getCity()
    {
        function getCityCallback()
        {
            var codes = new Array();
            var names = new Array();
            var citylist = document.getElementById("citylist");
            citylist.options.length = 0;
            if (httpRequest.readyState == 4) 
            {
                if (httpRequest.status == 200) 
                {
                    var data = httpRequest.responseXML;
                    var pcode = data.getElementsByTagName("pcode");
                    var pname = data.getElementsByTagName("pname");
                    citylist.options.add(new Option('',0));
                    for(i = 0; i < pcode.length; i++)
                    {
                        codes.push(pcode[i].childNodes(0).nodeValue);
                        names.push(pname[i].childNodes(0).nodeValue);
                        citylist.options.add(new Option(names[i],codes[i]));
                    }
                }
            }
        }    
        var httpRequest = XmlHttp.CreateXmlHttp();
        var Result = getCityCallback;
        var prolist = document.getElementById('prolist');
        var value = prolist.options[prolist.selectedIndex].value;
        var url = 'ajax/ajaxcity.aspx?provin=' + value + '&timestamp=' + new Date().getTime();
        XmlHttp.SendRequest(httpRequest,url,Result);
    }
    
    
    //获取行政区列表
    function getArea()
    {
        //var citylist = document.getElementById("citylist");
        //alert(citylist.options[0].value);
        function getAreaCallback()
        {
            var codes = new Array();
            var names = new Array();
            var arealist = document.getElementById("arealist");
            arealist.options.length = 0;
            if (httpRequest.readyState == 4) 
            {
                if (httpRequest.status == 200) 
                {
                    var data = httpRequest.responseXML;
                    var pcode = data.getElementsByTagName("pcode");
                    var pname = data.getElementsByTagName("pname");
                    arealist.options.add(new Option('',0));
                    for(i = 0; i < pcode.length; i++)
                    {
                        codes.push(pcode[i].childNodes(0).nodeValue);
                        names.push(pname[i].childNodes(0).nodeValue);
                        arealist.options.add(new Option(names[i],codes[i]));
                    }
                }
            }
        }
        var httpRequest = XmlHttp.CreateXmlHttp();
        var Result = getAreaCallback;
        var citylist = document.getElementById('citylist');
        var value = citylist.options[citylist.selectedIndex].value;
        var url = 'ajax/ajaxarea.aspx?city=' + value + '&timestamp=' + new Date().getTime();
        XmlHttp.SendRequest(httpRequest,url,Result);
    }    
        
    //获取街道办列表
    function getStreet()
    {
        function getStreetCallback()
        {
            var codes = new Array();
            var names = new Array();
            var streetlist = document.getElementById("streetlist");
            streetlist.options.length = 0;
            if (httpRequest.readyState == 4) 
            {
                if (httpRequest.status == 200) 
                {
                    var data = httpRequest.responseXML;
                    var pcode = data.getElementsByTagName("pcode");
                    var pname = data.getElementsByTagName("pname");
                    streetlist.options.add(new Option('',0));
                    for(i = 0; i < pcode.length; i++)
                    {
                        codes.push(pcode[i].childNodes(0).nodeValue);
                        names.push(pname[i].childNodes(0).nodeValue);
                        streetlist.options.add(new Option(names[i],codes[i]));
                    }
                }
            }
        }    
        var httpRequest = XmlHttp.CreateXmlHttp();
        var Result = getStreetCallback;
        var arealist = document.getElementById('arealist');
        var value = arealist.options[arealist.selectedIndex].value;
        var url = 'ajax/ajaxstreet.aspx?area=' + value + '&timestamp=' + new Date().getTime();
        XmlHttp.SendRequest(httpRequest,url,Result);
    }
    
    //获取单位列表
    function getUnit()
    {
        //alert('getUnit');
        function getUnitCallback()
        {
            
            var codes = new Array();
            var names = new Array();
            var unitlist = document.getElementById("unitlist");
            unitlist.options.length = 0; 
            
            if (httpRequest.readyState == 4) 
            {
                
                if (httpRequest.status == 200) 
                {
                    //alert('httpRequest.status=200');
                    var data = httpRequest.responseXML;
                    var pcode = data.getElementsByTagName("id");
                    var pname = data.getElementsByTagName("unname");
                    unitlist.options.add(new Option('',0));
                    if(pcode.length != pname.length)
                    {
                        return;
                    }
                    if(pcode.length==0 || pname.length==0)
                    {
                        return;
                    }
                    //alert(pcode.length+' '+pname.length);
                    for(i = 0; i < pcode.length; i++)
                    {
                        if(pcode[i].childNodes(0).nodeValue=='')
                        {
                            return;
                        }
                        if(pname[i].childNodes(0).nodeValue=='')
                        {
                            return;
                        }
                        var s=pname[i].childNodes(0).nodeValue;
                        //if(s.substr(0,2)!='cc')
                        {
                            codes.push(pcode[i].childNodes(0).nodeValue);
                            names.push(pname[i].childNodes(0).nodeValue);
                            unitlist.options.add(new Option(names[i],codes[i]));
                        }
                    }
                }
            }  
        }
        var httpRequest = XmlHttp.CreateXmlHttp();
        var Result = getUnitCallback;
        var flag = document.getElementById('flag');
        var value = flag.value;
        var url = 'ajax/ajaxunit.aspx?utype=' + value + '&timestamp=' + new Date().getTime();
        //alert(url);
        XmlHttp.SendRequest(httpRequest,url,Result);
    }    
    
    //获取坐标点
    function getNodes(city,area,street,unittype,unitid,ptype)
    {
        //alert('getnodes');
        var tx=0.001,ty=0.001; 
        function getNodesCallback()
        {
            if (httpRequest.readyState == 4) 
            {
                if (httpRequest.status == 200) 
                {
                    var data = httpRequest.responseXML;
                    var ids = data.getElementsByTagName("id");
                    var xs = data.getElementsByTagName("x");
                    var ys = data.getElementsByTagName("y");
                    var ss = data.getElementsByTagName("state");
                    var codes = data.getElementsByTagName("code");
                    X.splice(0,X.length);
                    Y.splice(0,Y.length);
                    S.splice(0,S.length);
                    Code.splice(0,Code.length);
                    //alert(ids.length);
                    for(i = 0; i < ids.length; i++)
                    {
                        //alert(ss[i].childNodes(0).nodeValue); 
                        info.push(ids[i].childNodes(0).nodeValue);
                        tx = xs[i].childNodes(0).nodeValue;
                        ty = ys[i].childNodes(0).nodeValue;
//                        tx=tx-0.00243;
//                        ty=ty-0.00683;
                        X.push(tx);
                        Y.push(ty);
                        S.push(ss[i].childNodes(0).nodeValue);
                        Code.push(codes[i].childNodes(0).nodeValue);        
                    }
                    showPoint();
                }
            }
        }
        var httpRequest = XmlHttp.CreateXmlHttp();
        var Result = getNodesCallback;
        var url = 'ajax/ajaxnodes.aspx?city=' + city + '&area=' + area + '&street=' + street + '&unittype=' + unittype + '&unitid=' + unitid + '&ptype=' + ptype + '&timestamp=' + new Date().getTime();
        //alert(url);
        XmlHttp.SendRequest(httpRequest,url,Result);
    }
    
    function btnmouseover() {
        $(this).css({ "width": "70" });
        $(this).css({ "height": "70" });    
    }    
    
    function btnmouseout() {
        $(this).css({ "width": "60" });
        $(this).css({ "height": "60" });    
    }  
    
    menudiv.style.top=h-100;
    
    $(".imgface").mouseover(btnmouseover);
    $(".imgface").mouseout(btnmouseout); 
    $("#prolist").change(getCity);
    $("#citylist").change(getArea);
    $("#arealist").change(getStreet);
    $("#img1").click(showAll);
    $("#img2").click(repairUnit);
    $("#img3").click(useUnit);
    $("#img4").click(testUnit);
    $("#img5").click(makeUnit);
    $("#img6").click(showState);
    $("#btnok").click(btnokclick);
    $("#btnclose").click(closefrm);
    
}
$(document).ready(setmapsize);
$(window).resize(setmapsize);


</script>
</head>
<body style="margin: 0px;">
    <form id="form1" runat="server">
<div style="width:100%;height:100%;border:1px solid gary;margin-top: 0px;" id="container"></div>
<div style="position:absolute; top:0px; left:0px; z-index:1; width: 100%" id="menudiv">
<table width="100%" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
    <td align="center">
    <table width="450" height="100" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="70" height="70" align="center" valign="middle"><img id="img1" class="imgface" src="images/btn1.png" alt="全部显示" /><br>
      <font class="tbg">全部显示</font></td>
    <td width="70" height="70" align="center" valign="middle"><img id="img2" class="imgface" src="images/btn2.png" alt="维保单位" /><br>
      <font class="tbg">维保单位</font></td>
    <td width="70" height="70" align="center" valign="middle"><img id="img3" class="imgface" src="images/btn3.png" alt="使用单位" /><br>
      <font class="tbg">使用单位</font></td>
    <td width="70" height="70" align="center" valign="middle"><img id="img4" class="imgface" src="images/btn4.png" alt="检验单位" /><br>
      <font class="tbg">检验单位</font></td>
    <td width="70" height="70" align="center" valign="middle"><img src="images/btn5.png" alt="制造单位" class="imgface" id="img5" /><br>
      <font class="tbg">制造单位</font></td>
    <td width="70" height="70" align="center" valign="middle"><img id="img6" class="imgface" src="images/btn6.png" alt="状态查询" /><br>
      <font class="tbg">状态查询</font></td>
    <td width="70" height="70" align="center" valign="middle">
    <select id="sttype">
      <option value="0" selected>运行状态</option>
      <option value="1">检验状态</option>
    </select>
    </td>
  </tr>
</table>
    </td>
  </tr>
</table>
</div>

<div id="frm1" style="left: 25%; top: 25%">
    <div class="bartop right">
        <img src="images/close.gif" alt="" id="btnclose" class="clickimg" />
    </div>
    <div class="toptext center" id="frmtitle">
        按维保单位显示
    </div>
    <div class="block"></div>   
   <div class="barcontent center">
        <div id="Div2" class="fd">省份:</div>
        <div class="left">
        <select id="prolist" class="comb">
        </select>
        </div>
   </div>
    <div class="block"></div>   
   <div class="barcontent center">
        <div id="Div1" class="fd">城市市区:</div>
        <div class="left">
        <select id="citylist" class="comb">
        </select>
        </div>
   </div>    
    <div class="block"></div> 
   <div class="barcontent center">
        <div id="Div3" class="fd">行政区:</div>
        <div class="left">
        <select id="arealist" class="comb">
        </select>
        </div>
   </div>
   <div class="block"></div> 
   <div class="barcontent center">
        <div id="Div4" class="fd">街道办:</div>
        <div class="left">
        <select id="streetlist" class="comb">
        </select>
        </div>
   </div>
   <div class="block"></div>
   <div class="barcontent center">
        <div id="lbl3" class="fd">选择单位:</div>
        <div class="left">
        <select id="unitlist" class="comb">
        </select>
            <input id="flag" type="hidden" /></div>
    </div>
    <div class="block"></div>   
    <div class="center">
         <input id="btnok" type="button" value="确定" />
    </div>
</div>
    </form>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三江831

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值