📄 sendto.js
字号:
// 常用变量表
var isReqing=false; // 正在请求数据,请稍等.
var XMLMode; // 当前模式
var eRight,eLeft; //-当前图形坐标范围
var eTop,eBottom;
var toolMode; // 当前工具
// send in XML request and get XML response - uses helper applet
function sendToServerParam(workCode)
{
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value=workCode;
toolMode = 0;
ToServer();
}
function sendToServer()
{
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="";
toolMode = 0;
ToServer();
}
function ToServer()
{
var xZoom;
var yZoom; //窗口大小
if (isReqing==true)
{
alert("正在请求数据,请稍等...");
return;
}
isReqing=true;
lcShowLayer(szLayerLoading);
if (parent.frameOprt.document.forms[0]!=null)
{
var theForm = parent.frameOprt.document.forms[0];
xZoom = eRight-eLeft;
theForm.lastzoom.value=xZoom;
theForm.zoom.value=xZoom;
theForm.centerx.value=(eRight+eLeft)*0.5;
theForm.centery.value=(eTop+eBottom)*0.5;
theForm.submitbutton.click();
}
}
function setStrsql(workmode,strLayer,strSql)
{
if (parent.frameOprt.document.forms[0]!=null)
{
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value=workmode;
theForm.layer.value=strLayer;
theForm.sql.value=strSql;
toolMode = 4;
ToServer();
}
}
//- 图形缩放 比例
function mapZoomScale(mapscale)
{
var xZoom;
var yZoom; //窗口大小
var centerx,centery,xzoom;
//- x scale
xZoom = eRight-eLeft;
//alert("l:"+eLeft+" r:"+eRight+" t:"+eTop+" b:"+eBottom+ " zoom:"+xZoom);
xZoom = xZoom*mapscale;
centerx = (eRight+eLeft)*0.5;
eRight = centerx + xZoom * 0.5;
eLeft = centerx - xZoom * 0.5;
//- y scale
yZoom = eBottom - eTop;
yZoom = yZoom*mapscale;
centery = (eTop+eBottom)*0.5;
eTop = centery - yZoom*0.5;
eBottom = centery + yZoom*0.5;
//alert("l:"+eLeft+" r:"+eRight+" t:"+eTop+" b:"+eBottom+ " zoom:"+yZoom);
sendToServer();
}
//- 重新设中心
function mapSetCenter(centerx,centery)
{
var xZoom;
var yZoom; //窗口大小
//- x scale
xZoom = eRight-eLeft;
eRight = centerx + xZoom * 0.5;
eLeft = centerx - xZoom * 0.5;
//- y scale
yZoom = eBottom - eTop;
eTop = centery - yZoom*0.5;
eBottom = centery + yZoom*0.5;
sendToServer();
}
//- 拖框提交
function submitDrag(dx,dy,ux,uy)
{
var du,sc,cx,cy,fNewZoom;
//alert("dx="+dx+" dy="+dy+ " ux="+ux+ " uy="+uy+szSelectedMaptool);
alert("dx="+dx+" dy="+dy+ " ux="+ux+ " uy="+uy+szSelectedMaptool);
if ((szSelectedMaptool != "DragPan") && (szSelectedMaptool != "ShortDist") && (szSelectedMaptool != "BusTran") && (szSelectedMaptool != "SearchRange!!Circle"))
{
if (dx>ux)
{
du = dx;
dx = ux;
ux = du;
}
if (dy>uy)
{
du = dy;
dy = uy;
uy = du;
}
}
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="";
toolMode = 0;
switch(szSelectedMaptool)
{
case "DragZoomIn":
//if (ux-dx<10 && uy-ux<10 ) //-限止放大倍数
//{
//ux=ux+MapPicWidth*0.25;
//dx=dx-MapPicWidth*0.25;
//uy=uy+MapPicHeight*0.25;
//dy=dy-MapPicHeight*0.25;
//}
sc = (eRight-eLeft)/980;
//eRight = eLeft + sc*(ux - MapPicLeft);
//eLeft = eLeft + sc*(dx - MapPicLeft);
//eBottom = eTop - sc*(uy - MapPicTop);
//eTop = eTop - sc*(dy - MapPicTop);
eRight = eLeft + sc*ux;
eLeft = eLeft + sc*dx;
eBottom = sc*uy;
eTop = sc*dy;
alert("sc:"+sc+"l:"+eLeft+" r:"+eRight+" t:"+eTop+" b:"+eBottom+ " sc:"+sc);
break;
case "DragZoomOut":
if (ux-dx<10 && uy-ux<10 ) //-限止缩小倍数
{
ux=ux+MapPicWidth*0.25;
dx=dx-MapPicWidth*0.25;
uy=uy+MapPicHeight*0.25;
dy=dy-MapPicHeight*0.25;
}
sc = (eRight-eLeft)/MapPicWidth;
cx = eLeft + sc*((dx+ux)*0.5 - MapPicLeft); //- 确定中心
cy = eTop - sc*((dy+uy)*0.5 - MapPicTop);
sc = MapPicWidth/(ux-dx); //- 缩小系统
du = eRight - eLeft;
eRight = cx + sc*du*0.5;
eLeft = cx - sc*du*0.5;
eBottom = cy - sc*du*0.5*MapPicHeight/MapPicWidth;
eTop = cy + sc*du*0.5*MapPicHeight/MapPicWidth;
//alert("l:"+eLeft+" r:"+eRight+" t:"+eTop+" b:"+eBottom+ " sc:"+sc);
break;
case "DragPan":
//alert("0:"+eLeft+" r:"+eRight+" t:"+eTop+" b:"+eBottom+ " sc:"+sc);
sc = (eRight-eLeft)/MapPicWidth;
cx = sc*(ux - dx); //- 确定中心
cy = sc*(dy - uy);
eRight = eRight - cx;
eLeft = eLeft -cx;
eBottom -= cy;
eTop -= cy;
//alert("l:"+eLeft+" r:"+eRight+" t:"+eTop+" b:"+eBottom+ " sc:"+sc);
break;
case "SearchRange!!Rect":
var mapx1,mapx2,mapy1,mapy2;
sc = (eRight-eLeft)/MapPicWidth;
mapx2 = eLeft + sc*(ux - MapPicLeft);
mapx1 = eLeft + sc*(dx - MapPicLeft);
mapy1 = eTop - sc*(uy - MapPicTop);
mapy2 = eTop - sc*(dy - MapPicTop);
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="101";
//theForm.layer.value=document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
theForm.layer.value="allUnit";
theForm.sql.value=document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
theForm.MapX1.value = ""+mapx1;
theForm.MapX2.value = ""+mapx2;
theForm.MapY1.value = ""+mapy1;
theForm.MapY2.value = ""+mapy2;
toolMode = 4;
//alert('l:'+theForm.layer.value);
break;
case "SearchRange!!Circle":
var mapx1,mapx2,mapy1,mapy2;
sc = (eRight-eLeft)/MapPicWidth;
mapx1 = eLeft + sc*(dx - MapPicLeft);
mapy1 = eTop - sc*(dy - MapPicTop);
mapx2 = eLeft + sc*(ux - MapPicLeft);
mapy2 = eTop - sc*(uy - MapPicTop);
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="102";
theForm.layer.value="allUnit";
theForm.sql.value=document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
theForm.MapX1.value = ""+mapx1;
theForm.MapX2.value = ""+mapx2;
theForm.MapY1.value = ""+mapy1;
theForm.MapY2.value = ""+mapy2;
toolMode = 4;
break;
case "ShortDist": // 最短路径
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="3001";
theForm.layer.value="Road";
theForm.sql.value=document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
theForm.MapX1.value = ""+Math.round(dx);
theForm.MapX2.value = ""+Math.round(ux);
theForm.MapY1.value = ""+Math.round(dy);
theForm.MapY2.value = ""+Math.round(uy);
toolMode = 3001;
break;
case "BusTran": // 最短路径
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="3002";
theForm.layer.value="Road";
theForm.sql.value=document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
theForm.MapX1.value = ""+Math.round(dx);
theForm.MapX2.value = ""+Math.round(ux);
theForm.MapY1.value = ""+Math.round(dy);
theForm.MapY2.value = ""+Math.round(uy);
toolMode = 3002;
//alert('x1='+dx+' y1='+dy+ ' x2=' +ux + 'y2='+uy);
break;
}
ToServer();
}
function position_road(centerx,centery) // 道路定位
{
drawMovePt(1,centerx,centery);
mapSetCenter(centerx,centery);
}
function showinfo_road(roadId) // 道路信息
{
}
function updateSetPos() // 更新层定位(如最短路径,公交起始点)
{
var locX,locY;
locX = calPixelX(startPtX);
locY = calPixelY(startPtY);
if (locX>0 && locY>0 && locX<PageWidth && locY<PageHeight)
{
drawSetPt(1,locX,locY);
}
locX = calPixelX(endPtX);
locY = calPixelY(endPtY);
if (locX>0 && locY>0 && locX<PageWidth && locY<PageHeight)
{
drawSetPt(2,locX,locY);
}
}
function mtSubmitQuerySelect(num)
{
if(!isReqing)
{
blSetStartTool = false;
blSetEndTool = false;
blSetBStartTool = false;
blSetBEndTool = false;
var szName1,szName2;
var sql1,sql2;
var theForm = parent.frameOprt.document.forms[0];
theForm.workmode.value="";
toolMode = 0;
switch(num)
{
case 1 :
szName1 = document.all.bstartName.value;
szName2 = document.all.bendName.value;
if (szName1.length>0 && szName2.length>0)
{
sql1 = 'uname like "%' + szName1 + '%" and fir_type="22" and sec_type="02"';
sql2 = 'uname like "%' + szName2 + '%" and fir_type="22" and sec_type="02"';
theForm.sql.value=sql1;
theForm.QueryResult.value = sql2;
theForm.workmode.value="3012";
theForm.layer.value="allUnit";
toolMode = 3012;
ToServer();
}
else if (szName1.length==0 || szName2.length==0)
{
szSelectedMaptool='BusTran';
submitDrag(startPtX, startPtY, endPtX, endPtY);
}
else if (szName1.length==0) alert('起点站名为空!');
else alert('终点站名为空!');
break;
case 3 :
szName1 = document.all.bstartName.value;
szName2 = document.all.bendName.value;
if (szName1.length>0 && szName2.length>0)
{
sql1 = 'uname like "%' + szName1 + '%"';
sql2 = 'uname like "%' + szName2 + '%"';
theForm.sql.value=sql1;
theForm.MapX2.value = sql2;
theForm.workmode.value="3011";
theForm.layer.value="allUnit";
toolMode = 3011;
ToServer();
}
else if (szName1.length==0 || szName2.length==0)
{
szSelectedMaptool='ShortDist';
submitDrag(startPtX, startPtY, endPtX, endPtY);
}
else if (szName1.length==0) alert('起点名为空!');
else alert('终点站名空!');
break;
}
}
else alert("正在加载地图数据,请稍候……");
}
function mtSubmitQuerySimple(num)
{
if(!isReqing)
{
blSetStartTool = false;
blSetEndTool = false;
blSetBStartTool = false;
blSetBEndTool = false;
switch(num)
{
case 1 :
szSelectedMaptool='BusTran';
submitDrag(startPtX, startPtY, endPtX, endPtY);
break;
case 3 :
szSelectedMaptool='ShortDist';
submitDrag(startPtX, startPtY, endPtX, endPtY);
break;
}
}
else alert("正在加载地图数据,请稍候……");
}
function SetStartPt()
{
var coordStr = document.all.SelStartPt.options[document.all.SelStartPt.selectedIndex ].value;
var nameStr = document.all.SelStartPt.options[document.all.SelStartPt.selectedIndex ].text;
var cooditem = coordStr.split(",");
var cx = parseFloat(cooditem[0]);
var cy = parseFloat(cooditem[1]);
drawMovePt(1,cx,cy);
if (toolMode == 3012)
{
document.all.bstartName.value=nameStr;
}
if (toolMode == 3011)
{
document.all.startName.value=nameStr;
}
}
function setEndPt()
{
var coordStr = document.all.SelEndPt.options[document.all.SelEndPt.selectedIndex ].value;
var nameStr = document.all.SelEndPt.options[document.all.SelEndPt.selectedIndex ].text;
var cooditem = coordStr.split(",");
var cx = parseFloat(cooditem[0]);
var cy = parseFloat(cooditem[1]);
drawMovePt(2,cx,cy);
if (toolMode == 3012)
{
document.all.bendName.value=nameStr;
}
if (toolMode == 3011)
{
document.all.endName.value=nameStr;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -