地图l拉框选房数据库如何建立
紧急求助:我在做一房产中介网站,要建一房源数据库,在地图上感兴趣位置拉框选房,之后即显示框中位置的租房及售房信息,http://bj. http://hz. 这二家网站做得很不错,但我不会,请
高手帮忙,重金酬谢,QQ:617744745 电话:13776855115
var g_XMLHTTP = null; var g_fullURL = ""; var maps; var api_url = "MapSearchAjax.aspx"; //查找动态页,设置二手房、租房等查找地址 var lx,sx,ly,sy,RentNum; var control; var kk=2; otherlist=""; var RentType=-1; var RentValue=0; //拉框结束执行的查找操作 function doit(bounds) { otherlist=""; maps.clearOverLays();//去掉所有的标注 //document.getElementById("decr").style.display='none';//隐藏提示层 lx=bounds.getXmax(); sx=bounds.getXmin(); ly=bounds.getYmax(); sy=bounds.getYmin(); RentType=document.getElementById("zfRentType").value; RentValue=document.getElementById("zfRentValue").value; RentNum=document.getElementById("zfRentNum").value; if(RentType!="") otherlist+="&RentType="+RentType; if(RentValue!="") otherlist+="&RentValue="+RentValue; if(RentNum!="") otherlist+="&RentNum="+RentNum; //发布时间 var RentDays=document.getElementById("RentDays").value; if(RentDays!=0) otherlist+="&Days="+RentDays; search_map(bounds.getXmax(),bounds.getXmin(),bounds.getYmax(),bounds.getYmin(),1,otherlist) startit(document.getElementById("Map_Btnimg")); } //设置点击按钮的操作。切换点击按钮的html function startit(obj) { if(obj.src.toLowerCase().indexOf('startsearch.gif') != -1) obj.src="images/endsearch.gif"; else obj.src="images/startsearch.gif"; control.btnClick(); } //初始化地图 function initMap() { maps = new LTMaps("mapDiv");//指定地图放到那个层 maps.cityNameAndZoom( CurrentCity , 6 );//设置中心 maps.handleKeyboard(); //键盘操作支持 maps.handleMouseScroll();//鼠标滚轮支持 maps.addControl(new LTStandMapControl()); control = new LTZoomSearchControl(); //建立新的拉框查找控件 maps.addControl(control); //添加控件到地图 control.setVisible(false);//隐藏拉框控件按钮 var div=document.createElement("DIV"); div.style["position"]="absolute";; div.style["zIndex"]="100000"; div.innerHTML='<img src="images/startsearch.gif" id="Map_Btnimg" style="cursor:pointer" onclick="startit(this);"/>'; var HEC = new LTHtmlElementControl(div); HEC.setRight("15px"); HEC.setTop("15px"); maps.addControl(HEC); LTEvent.addListener(control,"mouseup",doit); //设置在用户拉框完成之后执行do } //设置鼠标经过标注时显示信息浮窗,离开时关闭浮窗 function openInfoWin(marker,html,title) { return function(){ var win= this.openInfoWinHtml( html ); win.setTitle(title); win.moveToShow(); //win.closeInfoWindowWithMouse(); //定义在鼠标移出时关闭信息浮窗 } } //拉框查找 var errmsg; var ppp; //查找地图 //参数说明lx: x最大 sx:x最小,ly:y最大,sy:y最小,index:页码 function search_map(lx,sx,ly,sy,index,other) { sendRequest(setPatchPoi,api_url+"?lx="+lx+"&sx="+sx+"&ly="+ly+"&sy="+sy+"&p="+index+other); otherlist=other; //errmsg="/map/SearchMap.aspx?lx="+lx+"&sx="+sx+"&ly="+ly+"&sy="+sy+"&p="+index; ppp=index; } function search_map1(lx1,sx1,ly1,sy1,index,other) { if(kk==1) { sendRequest(setPatchPoi,api_url+"?lx="+lx1+"&sx="+sx1+"&ly="+ly1+"&sy="+sy1+"&p="+index+other); otherlist=other; //errmsg="/map/SearchMap.aspx?lx="+lx+"&sx="+sx+"&ly="+ly+"&sy="+sy+"&p="+index; lx=lx1; ly=ly1; sx=sx1; sy=sy1; ppp=index; kk=2; } } var html=[]; var title=[]; var points=[]; var marknumber; for(var iiii=0;iiii<20;iiii++) { eval(" var marker"+iiii+"; ") } //批量在地图上添加找到的标注 function setPatchPoi(pois) { maps.clearOverLays();//去掉所有的标注 var arrydate0 = pois.split("*%&^");//先分割出 document.getElementById("resultlist").innerHTML=arrydate0[1]; points=[];//清空后填充 var arrydate = arrydate0[0].split("{$}");//先分割出 if(maps==null) alert("没有地图"); var x=[]; var y=[]; icon1 = new LTIcon(); //再次分割并且初始化标注点 marknumber=arrydate.length; for(var i=0;i<arrydate.length-1;i++) { var temparry=arrydate[i].split(","); //租房 x[i] = temparry[0]; y[i] = temparry[1]; html[i]= "<p><a href='detail.aspx?ID="+temparry[3]+"' target='_blank'>"+temparry[7]+"</a></p><p>"+temparry[4]+"元/月</p><p>类型:"+temparry[5]+"</p>"; title[i]="<font style='font-size:12px'>"+temparry[2]+"(<a href='detail.aspx?ID="+temparry[3]+"' target='_blank'>查看详情</a>)</font>"; icon1.setImageUrl("images/Mark_Company.gif"); points.push(new LTPoint( parseInt(x[i]) , parseInt(y[i]) )); eval(" marker"+i+" = new LTMarker( points["+i+"] ,icon1);"); eval("maps.addOverLay( marker"+i+" ); "); eval("LTEvent.addListener( marker"+i+" , \"mouseover\" ,openInfoWin(marker"+i+",html["+i+"],title["+i+"]));"); } //同时把查找条件发送到iframe中,实现翻页 maps.getBestMap(points);//将地图定位到最佳视图 } //当没有结果的时候清掉之前的结果 function clearresult() { document.getElementById("resultlist").innerHTML='<h2 style="margin-left:370px;margin-top:30px">暂无搜索结果</h2>'; } //滑动实现地图中心移动到标注位置。 function gotocenter(i) { maps.moveToCenter(points[i]);//滑动实现地图中心移动到标注位置。 eval("var infoWin=marker"+i+".openInfoWinHtml(html["+i+"]);"); //在该标记上显示一个信息浮窗 eval("infoWin.setTitle(title["+i+"]);") //设置该信息浮窗的标题内容 window.scrollTo(0,246); } function getXMLHTTPRequest() { if (g_XMLHTTP) { g_XMLHTTP = null; } try { g_XMLHTTP = new ActiveXObject("Msxml2.xmlhttp"); } catch (e) { try { g_XMLHTTP = new ActiveXObject("Mcrosoft.xmlhttp"); } catch (e2) { g_XMLHTTP = false; } } if (!g_XMLHTTP && typeof XMLHttpRequest != "undefined") { try { g_XMLHTTP = new XMLHttpRequest(); } catch (e) { g_XMLHTTP = false; } } } var data ; function sendRequest(callback,url){ getXMLHTTPRequest(); var bakresult=document.getElementById("result"); if(document.getElementById("rentmapfinally").style.display=="none") document.getElementById("rentmapfinally").style.display=""; if (g_XMLHTTP){ g_XMLHTTP.open("GET",url,true); g_XMLHTTP.setRequestHeader("Content-Type","text/html;charset=gbk"); g_XMLHTTP.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate"); g_XMLHTTP.onreadystatechange = function() { if(g_XMLHTTP.readyState == 1) { bakresult.style.display=""; bakresult.innerHTML="<img src=\"images/map/load01.gif\" />正在加载"; } if(g_XMLHTTP.readyState == 2|| g_XMLHTTP.readyState==3) { bakresult.style.display=""; bakresult.innerHTML="<img src=\"images/map/load01.gif\" />正在搜索"; } if (g_XMLHTTP.readyState == 4) { if (g_XMLHTTP.status == 200) { data=g_XMLHTTP.responseText; if (data == "-1") { bakresult.innerHTML="搜索条件为空"; clearresult(); return false; } if (data == "-2") { bakresult.innerHTML="没有符合条件的结果"; clearresult(); return false; } if (data == "-3") { bakresult.innerHTML="服务器繁忙"; clearresult(); return false; } bakresult.innerHTML="<img src=\"images/map/load01.gif\" />正在处理"; callback(data); bakresult.style.display="none"; data = ""; } else { bakresult.innerHTML="取出内容时出错"; clearresult(); } } } g_XMLHTTP.send(null); return true; } else { alert("建立对象出错"); } return false; }