⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendto.js

📁 1985498mapxtremeforaspdemo.rar
💻 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 + -