📄 aimsclick.js
字号:
// aimsClick.js
/*
* JavaScript template file for ArcIMS HTML Viewer
* dependent on aimsXML.js, ArcIMSparam.js, aimsCommon.js, aimsMap.js,
* aimsLayers.js, aimsDHTML.js
* aimsNavigation.js
*/
aimsClickPresent=true;
var onOVArea = false;
// Global vars to save mouse position
var mouseX=0;
var mouseY=0;
var x1=0;
var y1=0;
var x2=0;
var y2=0;
var zleft=0;
var zright=0;
var ztop=0;
var zbottom=0;
var totalMeasure=0;
var currentMeasure=0;
var lastTotMeasure=0;
// variables for interactive clicks
var clickCount = 0;
var clickPointX = new Array();
var clickPointY = new Array();
var clickMeasure = new Array();
// type - 1=Measure; 2=SelectLine ; 3=SelectPolygon
var clickType = 1;
var shapeSelectBuffer = false;
var panning=false;
var zooming=false;
var selectBox=false;
var blankImage = "images/map.gif";
var leftButton =1;
var rightButton = 2;
if (isNav) {
leftButton = 1;
rightButton = 3;
}
/* *****************************************************
* Point click functions
* used by Measure and Select by Line/Polygon
* *****************************************************
*/
// put a point at click and add to clickCount
function clickAddPoint() {
var theX = mouseX;
var theY = mouseY;
getMapXY(theX,theY);
clickPointX[clickCount]=mapX;
clickPointY[clickCount]=mapY;
clickCount += 1;
selectCount=0;
totalMeasure = totalMeasure + currentMeasure;
//var u = Math.pow(10,numDecimals);
//if (totalMeasure!=0) totalMeasure = parseInt(totalMeasure*u+0.5)/u;
clickMeasure[clickCount]=totalMeasure;
legendTemp=legendVisible;
legendVisible=false;
var theString = writeXML();
var theNum = 99;
sendToServer(imsURL,theString,theNum);
}
// zero out all clicks in clickCount
function resetClick() {
var c1 = clickCount;
clickCount=0;
clickPointX.length=1;
clickPointY.length=1;
currentMeasure=0;
totalMeasure=0;
lastTotMeasure=0;
clickMeasure.length=1;
selectCount=0;
legendTemp=legendVisible;
legendVisible=false;
var theString = writeXML();
var theNum = 99;
//showRetrieveMap();
sendToServer(imsURL,theString,theNum);
if (toolMode==20) updateMeasureBox();
}
// remove last click from clickCount
function deleteClick() {
var c1 = clickCount;
clickCount=clickCount-1;
selectCount=0;
if (clickCount<0) clickCount=0;
if (clickCount>0) {
totalMeasure = clickMeasure[clickCount]
clickPointX.length=clickCount;
clickPointY.length=clickCount;
clickMeasure.length=clickCount;
} else {
totalMeasure=0;
clickMeasure[0]=0;
}
currentMeasure=0;
if (c1>0) {
legendTemp=legendVisible;
legendVisible=false;
var theString = writeXML();
var theNum = 99;
sendToServer(imsURL,theString,theNum);
}
}
//keep track of currently selected tool, and display it to user
// set the imsMap cursor tool
function clickFunction (toolName) {
if (hasLayer("measureBox"))
hideLayer("measureBox");
switch(toolName) {
// Zooming functions
case "zoomin":
// zoom in mode
toolMode = 1;
panning=false;
selectBox=false;
setCursor("theTop", "crosshair");
modeBlurb = modeList[0];
//if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
break;
case "zoomout":
// zoom out mode
toolMode = 2;
panning=false;
selectBox=false;
setCursor("theTop", "crosshair");
modeBlurb = modeList[1];
//if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
break;
case "zoomlast":
zoomBack();
panning=false;
zooming=false;
selectBox=false;
break;
case "zoomactive":
//alert(LayerExtent[ActiveLayerIndex]);
var q = LayerExtent[ActiveLayerIndex].split("|");
panning=false;
zooming=false;
selectBox=false;
//zoomToEnvelope(parseFloat(q[0]),parseFloat(q[1]),parseFloat(q[2]),parseFloat(q[3]));
var l = parseFloat(setDecimalString(q[0]));
var b = parseFloat(setDecimalString(q[1]));
var r = parseFloat(setDecimalString(q[2]));
var t = parseFloat(setDecimalString(q[3]));
var w = r-l;
var h = t-b;
// add a bit of a margin around the layer
var wm = w * (5/100);
var hm = h * (5/100);
l = l - wm;
r = r + wm;
b = b - hm;
t = t + hm;
zoomToEnvelope(l,b,r,t);
break;
case "fullextent":
fullExtent();
break;
// Pan functions
case "pan":
// pan mode
toolMode = 3;
zooming=false;
selectBox=false;
setCursor("theTop", "move");
modeBlurb = modeList[2];
//if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
break;
// Identify-Hyperlink functions
case "identify":
// identify mode - layer attributes - requires aimsIdentify.js
panning=false;
zooming=false;
selectBox=false;
shapeSelectBuffer = false;
if (canQuery) {
toolMode = 4;
setCursor("theTop", "crosshair");
modeBlurb = modeList[3];
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
hideLayer("measureBox");
break;
case "identifyall":
// identify drill mode
panning=false;
zooming=false;
selectBox=false;
shapeSelectBuffer = false;
toolMode = 5;
if (canQuery) {
setCursor("theTop", "crosshair");
//modeBlurb = modeList[19]; // identify all
modeBlurb = modeList[20]; // identify visible features
//modeBlurb = modeList[3]; // identify
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
drawSelectBoundary=false;
if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
hideLayer("measureBox");
break;
case "hyperlink":
// hyperlink mode - requires aimsIdentify.js
var isOk = false;
var j=-1;
panning=false;
zooming=false;
selectBox=false;
shapeSelectBuffer = false;
toolMode = 15;
modeBlurb = modeList[9];
showGeocode=false;
if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
hideLayer("measureBox");
var isOk = checkHyperLinkLayer(ActiveLayerIndex)
if (isOk) {
if (canQuery) {
setCursor("theTop", "crosshair");
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
} else {
currentHyperLinkLayer="";
currentHyperLinkField="";
alert(msgList[47]);
}
break;
case "hyperlinkany":
// hyperlink mode - requires aimsIdentify.js
var j=-1;
panning=false;
zooming=false;
selectBox=false;
shapeSelectBuffer = false;
toolMode = 30;
modeBlurb = modeList[9];
showGeocode=false;
if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
hideLayer("measureBox");
if (canQuery) {
setCursor("theTop", "crosshair");
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
break;
// Measure-Unit function
case "measure":
panning=false;
zooming=false;
selectBox=false;
shapeSelectBuffer = false;
if (clickCount>0) {
if (totalMeasure==0) resetClick();
}
toolMode = 20;
setCursor("theTop", "crosshair");
modeBlurb = modeList[12];
if (clickType==1) {
//if (useTextFrame) parent.TextFrame.location= appDir + "measure.htm";
showLayer("measureBox");
updateMeasureBox();
}
showGeocode=false;
break;
case "setunits":
if (useTextFrame) {
parent.TextFrame.location = "setUnits.htm";
} else {
window.open((appDir + "setUnits.htm"),"OptionWindow","width=575,height=120,scrollbars=yes,resizable=yes");
}
break;
// Graphic Selection functions
case "shape":
panning=false;
zooming=false;
selectBox=false;
shapeSelectBuffer = false;
toolMode = 21;
setCursor("theTop", "crosshair");
modeBlurb = modeList[13];
showGeocode=false;
hideLayer("measureBox");
break;
case "selectbox":
panning=false;
zooming=false;
// select mode - requires aimsSelect.js
if (canQuery) {
toolMode = 10;
clickCount=0;
showBuffer=false;
setCursor("theTop", "crosshair");
modeBlurb = modeList[4];
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
if (useTextFrame) parent.TextFrame.document.location= appDir + "text.htm";
hideLayer("measureBox");
break;
case "selectpoint":
panning=false;
zooming=false;
shapeSelectBuffer = false;
// select mode - requires aimsSelect.js
if (canQuery) {
toolMode = 11;
clickCount=0;
resetClick();
setCursor("theTop", "hand");
modeBlurb = modeList[5];
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
showBuffer=false;
hideLayer("measureBox");
break;
case "selectline":
panning=false;
zooming=false;
shapeSelectBuffer = false;
// select mode - requires aimsSelect.js
if (canQuery) {
toolMode = 12;
setCursor("theTop", "crosshair");
hideLayer("measureBox");
if (useTextFrame) {
parent.TextFrame.document.location= appDir + "selectline.htm";
} else {
Win1 = open("selectline.htm","QueryWindow","width=575,height=150,scrollbars=yes,resizable=yes");
}
modeBlurb = modeList[6];
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
showBuffer=false;
break;
case "selectpoly":
panning=false;
zooming=false;
shapeSelectBuffer = false;
// select mode - requires aimsSelect.js
if (canQuery) {
toolMode = 13;
setCursor("theTop", "crosshair");
hideLayer("measureBox");
if (useTextFrame) {
parent.TextFrame.document.location= appDir + "selectpoly.htm";
} else {
Win1 = open("selectpoly.htm","QueryWindow","width=575,height=150,scrollbars=yes,resizable=yes");
}
modeBlurb = modeList[7];
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
showBuffer=false;
break;
case "selectshape":
panning=false;
zooming=false;
shapeSelectBuffer = false;
// select mode - requires aimsSelect.js
if (canQuery) {
toolMode = 16;
setCursor("theTop", "crosshair");
hideLayer("measureBox");
if (useTextFrame) {
parent.TextFrame.document.location= appDir + "select.htm";
} else {
Win1 = open("select.htm","QueryWindow","width=575,height=150,scrollbars=yes,resizable=yes");
}
modeBlurb = modeList[8];
} else {
alert(msgList[46]);
}
//alert("Function Not Implemented");
showGeocode=false;
showBuffer=false;
break;
///*
case "buffershape":
panning=false;
zooming=false;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -