<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 + '×tamp=' + 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 + '×tamp=' + 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 + '×tamp=' + 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 + '×tamp=' + 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 + '×tamp=' + 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>