📄 mousereal.js
字号:
var txt1, txt2;
var szSelectLayers = "";
var szCurHtmlResult = "";
function mtInitTool()
{
blRectTool = false;
blCircleTool = false;
blMoveTool = false;
blClickTool = false;
blDblClickTool = false;
blDblLineTool = false;
blDblPointTool = false;
blSetStartTool = false;
blSetEndTool = false;
blSetBStartTool = false;
blSetBEndTool = false;
}
function mtSelectMaptool( tool )
{
var strToolName = "你还没有选择!";
var szLayerName = "";
var content = "";
OperateType = ""
strToolName = tool;
//var szLayerList = commGenLayerList(strLayerList);
clearRuler(); //清除测距
switch( strToolName ){
case '拖动':
mtInitTool();
blMoveTool = true;
break;
case '画点':
mtInitTool();
blClickTool = true;
OperateType = "Close"
break;
case '画线':
mtInitTool();
blDblLineTool = true;
OperateType = "Open"
break;
case '画矩形':
mtInitTool();
blRectTool = true;
OperateType = "Close"
break;
case '画圆':
mtInitTool();
blCircleTool = true;
OperateType = "Close"
break;
case '画不规则面':
mtInitTool();
blDblLineTool = true;
OperateType = "Close"
break;
case '双击点击':
mtInitTool();
blDblClickTool = true;
OperateType = "Open"
break;
case '查看全图':
mtInitTool();
content = '查看全图:<input type="text" name="txtZoom" size="15"> <a href="javascript:mtSumbitViewEntireLayer()">提交</a>'
szLayerName = szLayerInput;
break;
case '拖动放大':
mtInitTool();
szSelectedMaptool = "DragZoomIn";
mtSelectMaptool('画矩形')
CursorStyle("crosshair");
selMsg="当前操作:拖动放大";
break;
case '拖动缩小':
mtInitTool();
szSelectedMaptool = "DragZoomOut";
mtSelectMaptool('画矩形')
CursorStyle("crosshair");
selMsg="当前操作:拖动缩小";
break
case '拖动平移':
mtInitTool();
szSelectedMaptool = "DragPan";
mtSelectMaptool('拖动')
CursorStyle("move");
selMsg="当前操作:拖动平移";
break;
case '测距':
mtInitTool();
szSelectedMaptool = "Ruler";
mtSelectMaptool( '画线' )
CursorStyle("crosshair");
selMsg="当前操作:测距(双击结束)";
break;
case '最短路径':
mtInitTool();
szSelectedMaptool = "shorDist";
mtSelectMaptool( '画线' )
CursorStyle("crosshair");
selMsg="当前操作:请选择起点、终点";
break;
case '路径起点':
mtInitTool();
szSelectedMaptool = "shorDist";
blSetStartTool = true;
CursorStyle("crosshair");
selMsg="当前操作:设置起点";
var szName = document.all.startName.value;
if (szName.length>0)
{
setStrsql(2,"ALLUNIT",'uname like "%' + szName + '%"');
}
break;
case '公交起点':
//if( window.event.keyCode != 13 ) return;
mtInitTool();
var szName = document.all.bstartName.value;
if (szName.length>0)
{
setStrsql(2,"ALLUNIT",'uname like "%' + szName + '%" and fir_type="22" and sec_type="02"');
}
szSelectedMaptool = "shorDist";
blSetBStartTool = true;
CursorStyle("crosshair");
selMsg="当前操作:设置公交起点";
break;
case '路径终点':
mtInitTool();
szSelectedMaptool = "shorDist";
blSetEndTool = true;
CursorStyle("crosshair");
selMsg="当前操作:设置终点";
var szName = document.all.endName.value;
if (szName.length>0)
{
setStrsql(2,"ALLUNIT",'uname like "%' + szName + '%"');
}
break;
case '公交终点':
mtInitTool();
var szName = document.all.bendName.value;
if (szName.length>0)
{
setStrsql(2,"ALLUNIT",'uname like "%' + szName + '%" and fir_type="22" and sec_type="02"');
}
szSelectedMaptool = "shorDist";
blSetBEndTool = true;
CursorStyle("crosshair");
selMsg="当前操作:设置终点";
break;
case '测距清除':
mtInitTool();
mtSumbitClearRuler();
break;
case '鹰眼':
mtInitTool();
mtSubmEagleEye();
break;
case '范围查找':
mtInitTool();
mtSelectMaptool('画矩形');
szSelectedMaptool = "SearchRange!!Rect";
CursorStyle("crosshair");
selMsg="当前操作:范围查找";
break;
case '半径查找':
mtInitTool();
mtSelectMaptool('画圆');
szSelectedMaptool = "SearchRange!!Circle";
CursorStyle("crosshair");
selMsg="当前操作:半径查找";
break;
case '查找最近':
break;
case '改变地图大小':
mtInitTool();
content = '宽度:<input type="text" name="txtSetMapImageSizeWidth" size="15"><br>高度:<input type="text" name="txtSetMapImageSizeHeight" size="15"><p><a href="javascript:mtSubmitSetMapImageSize()">提交</a>'
szLayerName = szLayerInput;
break;
case '图层控制':
mtInitTool();
mtSumbitLayerControl();
break;
case '历史查询列表':
mtInitTool();
mtSumbitListHistory();
break;
case '清除临时点':
clearRuler;
sendToServerParam("20");
break;
case 'load':
case 'print':
content = "printMap.htm";
var imgwin = open( content, null, "width=600,height=400,resizable=no,scrollbars=yes,status=no,toolbar=no,menubar=yes,location=no");
imgwin.focus();
imgwin.moveTo(0, 0);
imgwin.resizeTo(MapPicWidth,MapPicHeight);
break;
default:
break;;
}
}
function mtSubmitFromMap( szXY )
{
var maptool = szSelectedMaptool;
var param = "";
var XYType = "Screen";
var layer;
var ObjDes = szXYZL(szXY) + ":" + XYType;
var ObjType="", range="", Order="", Other="";
switch( maptool )
{
case "SearchRange":
layer = document.all.sSearchLayer.options[ document.all.sSearchLayer.selectedIndex ].value
range = document.all.sRange.options[ document.all.sRange.selectedIndex ].value
Order = document.all.sResultOrder.options[ document.all.sResultOrder.selectedIndex ].value
Other = "ObjectLayers==" + layer
break;
case "SearchRange!!Rect":
maptool = "SearchRange";
layer = document.all.selSearchLayer.options[document.all.selSearchLayer.selectedIndex].value;
range = "1"
Order = "50"
Other = "ObjectLayers==" + layer
break;
default:
OperateType = ""
break;
}
mtSpellSubmit( maptool, ObjType, range, ObjDes, Order, Other )
}
function szXYZL(Cdt)
{
var CC = Cdt.split(",")
var Cd = CC[0]
var temp = ""
if ( CC.length == 1 ) { return CC.join(",") }
for ( var i=1; i<CC.length; i++ ) {
if ( CC[i] == Cd ) {
CC[i] = ""
} else {
Cd = CC[i]
}
}
for ( var i=0; i<CC.length; i++ ) {
if ( CC[i] != "" ) {
temp = temp + CC[i] + ","
}
}
return temp.substring(0,temp.length-1)
}
function mtViewMap(View)
{
var maptool = "BrowseMap";
var act = "";
switch(View){
case 'prev':
act = "prev";
break;
case 'next':
act = "next";
break;
case 'last':
act = "last";
break;
}
param = "Action==" + act;
mtQuerySubmit( maptool, param )
}
function mtSumbitClearRuler()
{
var maptool = "ClearRuler";
var param = "";
OldRuler = 0
lcReplaceLayerContent( szLayerOutput, "" )
mtQuerySubmit( maptool, param );
}
function mtSubmEagleEye()
{
var maptool = "";
var param = "EyeImageSize==" + nEagleEyeMapWidth + "," + nEagleEyeMapHeight;
mtQuerySubmit( maptool, param)
}
function mtSumbitLayerControl()
{
var maptool = "LayerControl";
var param = "";
mtQuerySubmit( maptool, param );
}
function mtSubmitSetMapImageSize()
{
var maptool = "SetMapImageSize"
var param = ""
var width,height
width = document.all.txtSetMapImageSizeWidth.value
height = document.all.txtSetMapImageSizeHeight.value
if ( isNaN(width) || width < 0 || width=="" || isNaN(height) || height < 0 || height=="" ) {
alert("数值错误");return
}
if ( width == 0 || height == 0 ) {
param = "MapImageSize==0,0"
}
else {
param = "MapImageSize==" + width + "," + height
}
mtQuerySubmit( maptool, param );
}
function mtSubmitHighLight(Layer,fid,name)
{
var maptool = "HighLight"
var ObjType, Range, ObjDes, Order, Other
ObjType = ""
Range = ""
ObjDes = Layer + ":" + fid;
Order = ""
Other = ""
document.all.txtFindStringZBHJ.value = name;
document.all.endName.value = name;
document.all.txtEnd.value = name;
document.all.txtFindString1.value = name;
mtSpellSubmit( maptool, ObjType, Range, ObjDes, Order, Other )
}
function mtSumbitMapZoom( scale )
{
var MZ = szMapZoom * scale;
var param = "Zoom==" + MZ + "!!CenterX==" + nCenterX + "!!CenterY==" + nCenterY;
mtQuerySubmit( '', param );
mapZoomScale(scale);
}
function mtSubBarAdd()
{
scale=1.5;
epSetMap_Bar();
mtSumbitMapZoom( scale );
}
function mtSubBarMin()
{
scale=0.5;
epSetMap_Bar();
mtSumbitMapZoom( scale );
}
function showinfo_unit(uid)
{
var strSql = "mi_prinx=" + uid;
setStrsql(31,"ALLUNIT",strSql);
}
function position_unit(uid,uname)
{
var strSql = "mi_prinx=" + uid;
setStrsql(32,"ALLUNIT",strSql);
document.all.AdvanceItem.style.display="none";
if (blSetBStartTool)
{
document.all.bstartName.value=uname;
}
if (blSetBEndTool)
{
document.all.bendName.value=uname;
}
if (blSetStartTool)
{
document.all.startName.value=uname;
}
if (blSetEndTool)
{
document.all.endName.value=uname;
}
}
function position_station()
{
if (blSetBStartTool || blSetStartTool)
{
drawMovePt(1,nCenterX,nCenterY);
}
if (blSetEndTool || blSetBEndTool)
{
drawMovePt(2,nCenterX,nCenterY);
}
}
var szFnObjName = "";
function mtSumbitListHistory()
{
var maptool = "ListHistory"
var param = ""
mtQuerySubmit( maptool, param );
}
function mtSpellSubmit( maptool, ObjType, Range, ObjDes, Order, Other )
{
var param
var FeatType = "FeatureDescType==" + ObjType + "," + OperateType + "," + Range
var FeatDesc = "FeatureDesc==" + ObjDes
var ResOr = "ResultOrder==" + Order
if ( FeatType == "FeatureDescType==,," ) FeatType = ""
if ( FeatDesc == "FeatureDesc==" ) FeatDesc = ""
if ( ResOr == "ResultOrder==" ) ResOr = ""
param = FeatType + "!!" + FeatDesc + "!!" + ResOr + "!!" + Other
OldParam = maptool + "!!" + ObjType + "!!" + Range + "!!" + ObjDes + "!!" + Order + "!!" + Other
param = ClearCharacter( param,"!!" )
mtQuerySubmit( maptool, param )
}
function ClearCharacter(str,Reg)
{
while ( str.substr(0,2) == Reg ) {
str = str.substring(2)
}
while ( str.substr(str.length-2,2) == Reg ) {
str = str.substring(0,str.length-2)
}
str = str.replace(Reg+Reg,Reg)
str = str.replace(Reg+Reg+Reg,Reg)
str = str.replace(Reg+Reg+Reg+Reg,Reg)
return str;
}
function mtClearHistory()
{
var param = "Zoom==" + szMapZoom + "!!CenterX==" + nCenterX + "!!CenterY==" + nCenterY + "!!ClearHistory==1";
mtQuerySubmit( '', param );
}
function isnot_chinese(Lastparam)
{
var pattern = /[^\u4E00-\u9FA5]/;
if(!pattern.test(Lastparam)) return false;
else return 1;
}
function mtQuerySubmit( maptool, param )
{
return;
var variant = "DestGeoset==" + szGeoset + "!!HirerID==" + szHirerID;
if( param != "" )
variant += "!!" + param;
if( blEagleEyes )
variant += "!!EyeImageSize==" + nEagleEyeMapWidth + "," + nEagleEyeMapHeight;
var szOprtParam =
"?hidden_MapTool=" + maptool +
"&hidden_Variant=" + variant +
"&" + aryHiddenParam.join( "&" ) ;
szOprtParam += "&hidden_MapZoom=" + szMapZoom + "&hidden_MapCenterX=" + nCenterX + "&hidden_MapCenterY=" + nCenterY;
for(i=0;i<szOprtParam.length;i++)
{
;
if(!isnot_chinese(szOprtParam.substring(i,i+1))) szOprtParam=szOprtParam.substring(0,i)+escape(szOprtParam.substring(i,i+1))+szOprtParam.substring(i+1,szOprtParam.length);
}
lcShowLayer(szLayerLoading);
epEventNull();
lcChangeImgSrc( "images/pixel.gif" );
lcHideLayer( szLayerMapImage );
parent.__OprtFinalSubmit__( szOprtParam );
}
var moveX,moveY,downX,downY,upX,upY,clickX,clickY;
var eventId = "";
var downID = "";
var divNum = -1;
var lineY = new Array();
var lineX = new Array();
var curX,curY;
function epCaptureEvent()
{
document.onmousemove = epMouseMove;
document.onmousedown = epMouseDown;
document.onmouseup = epMouseUp;
document.ondblclick = epMouseDbclick;
}
function epMouseMove(e)
{
eventId = event.srcElement.id;
moveX = event.clientX + document.body.scrollLeft;
moveY = event.clientY + document.body.scrollTop;
if (ovIsVisible)
{
if((moveX>locLeft) && (moveY>locTop) && (moveX<locLeft+locWidth) && (moveY < locTop+locHeight))
{
window.status=selMsg;
} else
{
calCoord(moveX,moveY);
//window.status=selMsg+" 当前坐标 X:"+curX+" Y:"+curY;
window.status=selMsg;
}
}
if( epCheckMouse_Map() )
{
if( blMoveTool && blDown ) // 漫 游
{
lcMoveLayer( szLayerMapImage,moveX-downX,moveY-downY );
lcMoveLayer( szLayerMapImageBg,moveX-downX,moveY-downY );
}
if( blRectTool && blDown )
{
epRect();
}
if( blCircleTool && blDown )
{
drawCircleLayer(false);
}
if( divNum != -1 && divNum <= 9 && blDblLineTool )
{
epAddUserLine( divNum );
}
}
if( epCheckMouse_Bar() && blDown ) {
epGetScale( moveY );
lcMoveLayer( szLayerBar, Bar_Left,moveY);
epSetMap_Bar();
}
}
function epCheckMouse_Map()
{
if( (moveX > left) && (moveX < left+width) &&
(moveY > top) && (moveY < top+height) &&
(downX > left) && (downX < left+width) &&
(downY > top) && (downY < top+height)
&& eventId == szLayerMask && downID != szLayerOutput )
{
return true;
}
else
{
return false;
}
}
function epMouseDown(e)
{
moveX = event.clientX + document.body.scrollLeft;
moveY = event.clientY + document.body.scrollTop;
downX = moveX;
downY = moveY;
eventId = event.srcElement.id;
downID = event.srcElement.id;
if (ovIsVisible)
{
if((moveX>locLeft) && (moveY>locTop) && (moveX<locLeft+locWidth) && (moveY < locTop+locHeight))
{
ovMapClick(moveX,moveY);
window.status = "在鹰眼图上";
return;
}
}
if( eventId != "" )
blDown = true;
else
blDown = false;
if( epCheckMouse_Map() && blRectTool ) {
lcShowLayer('layRect');
lcMoveLayer( 'layRect',downX,downY );
}
if( epCheckMouse_Map() && blCircleTool ) //-画圆
{
drawCircleLayer(true); //-画圆心半径
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -