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

📄 mousereal.js

📁 1985498mapxtremeforaspdemo.rar
💻 JS
📖 第 1 页 / 共 2 页
字号:
	if( epCheckMouse_Map() && ( blSetStartTool || blSetBStartTool )) //-起点
	{ 
		drawSetPt(1,downX,downY);
		if (blSetStartTool)
		{
			document.all.startName.value="";
		} 
		else document.all.bstartName.value="";
	}

	if( epCheckMouse_Map() && (blSetEndTool || blSetBEndTool)) //-终点
	{ 
		drawSetPt(2,downX,downY);    
		if (blSetEndTool)
		{
			document.all.endName.value="";
		} 
		else document.all.bendName.value="";
	}
	epMouseClick(e);
}



function epMouseUp(e)
{
	upX = moveX;
	upY = moveY;
	blDown = false;
	if( epCheckMouse_Map() && ( blRectTool || blMoveTool  || blCircleTool ) )
	{
		szXY = (downX-left) + " " + (downY-top) + "," + (upX-left) + " " + (upY-top)
		mtSubmitFromMap( szXY );
		submitDrag(downX,downY,upX,upY);
	}
}

function epMouseClick(e)
{
	clickX = moveX;
	clickY = moveY;
	eventId = event.srcElement.id;

	if( blClickTool && epCheckMouse_Map())
		mtSubmitFromMap( (clickX-left) + " " + (clickY-top) );

	if( epCheckMouse_Map() && blDblLineTool ) 
	{	// 画虚线
		divNum = divNum + 1;
		lineX[divNum] = clickX - left;
		lineY[divNum] = clickY - top;
		if (divNum>9)
		{
			alert('最大为9段,请重新选择!');
			if(divNum>10) clearRuler();
		}
		if (divNum>1)
		{
			OldRuler = OldRuler + calDistance(lineX[divNum],lineY[divNum],lineX[divNum-1],lineY[divNum-1]);
		}
	}
	
	if( epCheckMouse_Bar() ) { // 滑轨
		epGetScale( moveY );
		lcMoveLayer( szLayerBar, Bar_Left,clickY);
		epSetMap_Bar();
		mtSumbitMapZoom( scale );
	}
}

function clearRuler()
{
	OldRuler=0.0;
	var i;
	for (i=0;i<10 ;i++ )
	{
		lcHideLayer( 'div'+ i );
		epSetMeasureq( i, 0, 0, 0, 0, "" );
	}
	divNum =0 ;
}

function epMouseDbclick(e)
{
	eventId = event.srcElement.id;
	var szXY = ""

	if( epCheckMouse_Map() && blDblLineTool ) {		// 画虚线
		for ( var i=0; i< lineX.length; i++ ) {
			szXY = szXY + lineX[i] + " " + lineY[i] + ","			
		}
		szXY = szXY.substring(0,szXY.length-1)	
		//mtSubmitFromMap( szXY );  // wsd add 客户端计算

		divNum = -1;
		lineY = new Array();
		lineX = new Array();
	}
}

function epSetMap_Bar()
{
	var w = width / scale;
	var h = height / scale;

	var x = width/2 * ( 1 - 1/scale );
	var y = height/2 * ( 1 - 1/scale );
	
	lcChangeImgSize( w, h );
	lcSetImgSize( szImageMapBg, w, h );
	lcMoveLayer( szLayerMapImage, x, y);
	lcMoveLayer( szLayerMapImageBg, x, y);
}

function epGetScale( paramY )
{
	if( moveY < Bar_Top )
		scale = ( Bar_bgHeight / 2 ) / ( ( ( Bar_Top - Bar_Height / 2 ) - paramY ) * 2 + Bar_bgHeight / 2 )
	if( moveY > Bar_Top )
		scale = ( ( paramY - ( Bar_Top - Bar_Height / 2 ) ) * 2 + Bar_bgHeight / 2 ) / ( Bar_bgHeight / 2 );
	if( scale > 3 )   scale = 3;
	if( scale < 1/3 ) scale = 1/3;
	
}

function epCheckMouse_Bar()
{
	if( moveX > Bar_bgLeft && moveX < ( Bar_bgLeft + Bar_bgWidth ) &&
		moveY > Bar_bgTop  && moveY < ( Bar_bgTop + Bar_bgHeight-10 ) &&
		blBarExit && eventId == szLayerBarMask &&  downID != szLayerOutput)
		return true;
	else
		return false;
}

function	drawSetPt(locNum,locX,locY)
{
	var layName;
	calCoord(locX,locY);
	switch(locNum)
	{
		case 1:
			layName = 'divStart';  //- 起点
			startPtX=curX;
			startPtY=curY;
			//alert('x:'+startPtX+'y:'+startPtY);
			break;
		case 2:
			layName = 'divEnd';  //- 终点
			endPtX=curX;
			endPtY=curY;
			//alert('x:'+endPtX+'y:'+endPtY);
			break;
		case 3:
			layName = 'divMove';  //- 移动点
			break;
	}
	document.all( layName ).style.top = locY-11;
	document.all( layName ).style.left = locX-11;
	lcShowLayer( layName);
}

function	drawMovePt(locNum,moveX,moveY)
{
	var layName;
	var locX,locY;
	locX = calPixelX(moveX);
	locY = calPixelY(moveY);
	switch(locNum)
	{
		case 1:
			layName = 'divStart';  //- 起点
			startPtX=moveX;
			startPtY=moveY;
			break;
		case 2:
			layName = 'divEnd';  //- 终点
			endPtX=moveX;
			endPtY=moveY;
			break;
		case 3:
			layName = 'divMove';  //- 移动点
			break;
	}
	lcShowLayer( layName);
	document.all( layName ).style.top = locY-11;
	document.all( layName ).style.left = locX-11;
}

function epAddUserLine( d )
{
	lcShowLayer( 'div'+ d );
	var MmX = lineX[divNum] + left;
	var MmY = lineY[divNum] + top;
	var McX = moveX;
	var McY = moveY;
	var szHtml;
	szHtml = ""+calDistance(MmX,MmY,McX,McY)+",";
	interRulerResult( szHtml );

	if( McY > top + height ) McY = top + height;
	if( McY < top )     McY = top;
	if( McX > left + width )  McX = left + width;
	if( McX < left )     McX = left;

	if( McX -MmX >-2 && McX -MmX <2 ) //1
	{
		if (MmY>McY) epSetMeasureq( d, McY, (MmX+McX)*0.5, 2, MmY - McY, 'images/vv.gif' );
		else         epSetMeasureq( d, MmY, (MmX+McX)*0.5, 2, McY - MmY, 'images/vv.gif' );		
	}
	else if(McY - MmY>-2  && McY - MmY<2) //1
	{
		if (MmX>McX) epSetMeasureq( d, (MmY+McY)*0.5-8, McX, MmX - McX, 2, 'images/vh.gif' );
		else         epSetMeasureq( d, (MmY+McY)*0.5-8, MmX, McX - MmX, 2, 'images/vh.gif' );
	}
	else if( McX > MmX && McY > MmY ) //1
		epSetMeasureq( d, MmY, MmX, McX-MmX, McY-MmY, 'images/tr.gif' );
	else if( McX > MmX && McY < MmY ) //2
		epSetMeasureq( d, McY,MmX,McX-MmX,MmY-McY, 'images/tl.gif' );
	else if( McX < MmX && McY > MmY ) //3
		epSetMeasureq( d,MmY,McX,MmX-McX,McY-MmY, 'images/tl.gif' );
	else if( McX < MmX && McY < MmY ) //4
		epSetMeasureq( d,McY,McX,MmX-McX,MmY-McY, 'images/tr.gif' );
}

function epSetMeasureq( pname, ptop, pleft, pwidth, pheight, psrc )
{
	document.all( 'div' + pname ).style.top = ptop;
	document.all( 'div' + pname ).style.left = pleft;
	document.all( 'img' + pname ).width = pwidth;
	document.all( 'img' + pname ).height = pheight;
	document.all( 'img' + pname ).src = psrc;
}

function calDistance(ix1,iy1,ix2,iy2)
{
	var dist,sc;
	dist = Math.sqrt((ix2-ix1)*(ix2-ix1)+(iy2-iy1)*(iy2-iy1))*(eRight-eLeft)/MapPicWidth;
	dist = Math.round(dist*100)/100;
	return dist;
}

function epRect()
{
	if( moveX<downX && moveY<downY ) {        // No.2
		lcResizeLayer('layRect',downX-moveX,downY-moveY);
		lcMoveLayer('layRect',moveX,moveY);
	} else if( moveX>downX && moveY<downY ) { // No.1
		lcResizeLayer('layRect',moveX-downX,downY-moveY);
		lcMoveLayer('layRect',downX,moveY);
	} else if( moveX<downX && moveY>downY ) { // No.3
		lcResizeLayer('layRect',downX-moveX,moveY-downY);
		lcMoveLayer('layRect',moveX,downY);
	} else if( moveX>downX && moveY>downY ) { // No.4
		lcResizeLayer('layRect',moveX-downX,moveY-downY);
		lcMoveLayer('layRect',downX,downY);
	}
}

function epInitMappage() {
	downX = 0;
	downY = 0;
	moveX = 0;
	moveY = 0;
	
	lcHideLayer( szLayerLoading );

	lcHideLayer( szLayerBorder );
	lcResizeLayer( szLayerBorder, 1, 1 );
	lcMoveLayer(  szLayerBorder, -10, -10 );

	lcChangeImgSize( width, height );  //- wsd add
	lcMoveLayer( szLayerMapImage, 0, 0 );
	lcShowLayer( szLayerMapImage );

	for(i=0; i<=9; ++i) {
		lcHideLayer( 'div' + i );
		lcMoveLayer(  'div' + i, -10, -10 );
		lcResizeLayer('div' + i, 1, 1 );
	}
	if( blBarExit )
		lcMoveLayer( szLayerBar, Bar_Left, Bar_Top );
}


function drawCircleLayer(isInith)
{
	var rDist;
	var i,x1,y1,x2,y2;
	if (isInith)
	{
		rDist=2.0;
	}
	else
	{
		rDist = Math.sqrt((downX - moveX)*(downX - moveX)+(downY- moveY)*(downY- moveY));
		var szHtm = "提示信息<br><hr>当前半径为:" + calDistance(downX,downY,moveX,moveY) + " 米<br>"
		frmMappage.lcReplaceLayerContent( szLayerOutput, szHtm );
	}

	for (i=1;i<9 ;i++ )
	{
		x1=Math.cos((i-0.25)*3.1415926/4)*rDist + downX;
		y1=Math.sin((i-0.25)*3.1415926/4)*rDist + downY;
		x2=Math.cos((i+0.75)*3.1415926/4)*rDist + downX;
		y2=Math.sin((i+0.75)*3.1415926/4)*rDist + downY;
		if (isInith)
		{
			lcShowLayer( 'div'+ i );
		}
		drawLine(i,x1,y1,x2,y2);
	}
}

function drawLine(d,MmX1,MmY1,McX1,McY1)
{
	if( McY1 > top + height ) McY1 = top + height;
	if( McY1 < top )     McY1 = top;
	if( McX1 > left + width )  McX1 = left + width;
	if( McX1 < left )     McX1 = left;

	if( McX1 -MmX1 >-2 && McX1 -MmX1 <2 ) //1
		epSetMeasureq( d, MmY1, MmX1, McX1-MmX1, McY1-MmY1, 'images/vv.gif' );
	else if(McY1 - MmY1>-2  && McY1 - MmY1<2) //1
		epSetMeasureq( d, MmY1, MmX1, McX1-MmX1, McY1-MmY1, 'images/vh.gif' );
	else if( McX1 > MmX1 && McY1 > MmY1 ) //1
		epSetMeasureq( d, MmY1, MmX1, McX1-MmX1, McY1-MmY1, 'images/tr.gif' );
	else if( McX1 > MmX1 && McY1 < MmY1 ) //2
		epSetMeasureq( d, McY1,MmX1,McX1-MmX1,MmY1-McY1, 'images/tl.gif' );
	else if( McX1 < MmX1 && McY1 > MmY1 ) //3
		epSetMeasureq( d,MmY1,McX1,MmX1-McX1,McY1-MmY1, 'images/tl.gif' );
	else if( McX1 < MmX1 && McY1 < MmY1 ) //4
		epSetMeasureq( d,McY1,McX1,MmX1-McX1,MmY1-McY1, 'images/tr.gif' );
}


function epEventNull()
{
	document.onmousemove = '';
	document.onmousedown = '';
	document.onmouseup = '';
	document.onclick = '';
	document.ondblclick = '';
}


function codeName(scode)
{
	var sname;
	switch(scode)
	{
		case '00':	
			sname = '全部';
			break;
		case '01':	
			sname = '政府机关';
			break;
		case '02':
			sname = '科研院所';
			break;
		case '03':
			sname = '餐饮娱乐';
			break;
		case '04':
			sname = '宾馆饭店';
			break;
		case '05':
			sname = '公司企业';
			break;
		case '06':
			sname = '文化教育';
			break;
		case '07':
			sname = '金融银行';
			break;
		case '08':
			sname = '写字楼';
			break;
		case '09':
			sname = '商业网点';
			break;
		case '10':
			sname = '医疗卫生';
			break;
		case '11':
			sname = '旅游景点';
			break;
		case '12':
			sname = '房地产';
			break;
		case '13':
			sname = '邮政电信';
			break;
		case '14':
			sname = '运动场馆';
			break;
		case '15':
			sname = '车站码头';
			break;
		case '16':
			sname = '居民小区';
			break;
		case '17':
			sname = '汽车服务';
			break;
		case '18':
			sname = '行政区划';
			break;
		case '19':
			sname = '街道';
			break;
		case '20':
			sname = '水系';
			break;
		case '21':
			sname = '绿地';
			break;
		case '22':
			sname = '公交线路';
			break;
		case '23':
			sname = '公交车站';
			break;
		case '24':
			sname = '基础地图';
			break;
		case '25':
			sname = '建筑物';
			break;
		case '26':
			sname = '高程测点';
			break;
		default:
			sname = '其它';
			break;
	}
	return sname;
}

function mtSubmitFuzzyQuery()
{
	if(!isReqing)
    {
		var bolSubmit = false;
		if(mtSubmitFuzzyQuery.arguments[0] == false)
		{
			if( window.event.keyCode == 13 ) bolSubmit = true;		
		}
	
		if(bolSubmit || mtSubmitFuzzyQuery.arguments[0] != false)
		{
			var maptool = "FuzzyQuery";
			var szLyr =  document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
			var szName = document.all.txtFindString.value;
			if (szName.length>0)
			{
				var strSql = 'MAIN_NAME LIKE "%' + szName + '%"';
				if (szLyr>"00")
				{
					strSql = strSql + ' and fir_type="' + szLyr + '"';
				}
				setStrsql(2,"ALLUNIT",strSql);
			}
			else alert("名称为空,请重新输入!");
	 	}
    }
	else alert("正在加载地图数据,请稍候!");
}


function mtSubmitAdvanceQuery()
{
	if(!isReqing)
    {
		var bolSubmit = false;
		bolSubmit = true;		
		var maptool = "FuzzyQuery";
		var szLyr;
		var szName;
		var szOrder;
		var strSql='',sand=' and ';
		var nofirst=false;

		szName = document.all.Txt_Name.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'UNAME LIKE "%' + szName + '%"';
		}
		szLyr =  document.all.SelFir_Type.options[document.all.SelFir_Type.selectedIndex].value;
		szLfir = szLyr;
		if (szLyr>"00")
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql = strSql + ' fir_type="' + szLyr + '"';
		}
		szLyr =  document.all.SelSec_Type.options[document.all.SelSec_Type.selectedIndex].value;
		if ((szLyr>"00") && (szLfir>"00"))
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql = strSql + ' sec_type="' + szLyr + '"';
		}

		szName = document.all.Txt_Address.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'locat_add LIKE "%' + szName + '%"';
		}

		szName = document.all.Txt_Telephone.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += ' telphone LIKE "%' + szName + '%"';
		}

		szName = document.all.Txt_Introduce.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'introduce LIKE "%' + szName + '%"';
		}

		szName = document.all.Txt_Cadastral.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'cadastral LIKE "' + szName + '%"';
		}

		szName = document.all.Txt_Cocode.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'ent_coding LIKE "%' + szName + '%"';
		}

		szName = document.all.Txt_Alias.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'alias_name LIKE "%' + szName + '%"';
		}

		szName = document.all.Txt_Code.value;
		if (szName.length>0)
		{
			if (nofirst)
			{
				strSql += sand;
			}
			nofirst=true;
			strSql += 'coding LIKE "' + szName + '%"';
		}
		
		if (nofirst)
		{
			//strSql += ' order by fir_type';
			setStrsql(2,"ALLUNIT",strSql);
		}
		else alert("参数为空,请填写!");
	}
	else alert("正在加载地图数据,请稍候!");
}


function calCoord(mouseX,mouseY)
{
	var sc = (eRight-eLeft)/MapPicWidth;
	curX = Math.round(eLeft + sc*(mouseX - MapPicLeft));
	curY = Math.round(eTop  - sc*(mouseY - MapPicTop));
}


function calPixelX(locX)
{
	var sc = (eRight-eLeft)/MapPicWidth;
	var coordX = (locX-eLeft)/sc + MapPicLeft;
	coordX = Math.round(coordX);
	return(coordX);
}

function calPixelY(locY,coordY)
{
	var sc = (eRight-eLeft)/MapPicWidth;
	var coordY = (eTop-locY)/sc  + MapPicTop;
	coordY = Math.round(coordY);
	return(coordY);
}



function revertToolPic() 
{
	document.zoomin.src="images/zoomin_1.gif";
	document.zoomout.src="images/zoomout_1.gif";
	document.identify.src="images/identify_1.gif";
	document.pan.src="images/pan_1.gif";
	document.measure.src="images/measure_1.gif";
}

function setToolPic(functName) 
{
	revertToolPic();
	focus();
	switch(functName)
	{
		case "Zoom In":
			document.zoomin.src="images/zoomin_2.gif";
			break;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -