📄 aimsidentify.js
字号:
Win1.document.open();
} else {
Win1 = open("","DataWindow","width=575,height=250,scrollbars=yes,resizable=yes");
extWin = Win1;
focusOnData = true;
}
Win1.document.writeln(str);
Win1.document.close();
hideRetrieveData();
}
// checks if any layer has hyperlink at location and links to first one matching
function hyperLinkAny(e) {
if (hyperLinkLayers.length>0) {
var j = -1;
fIndex = 0;
for (var i=layerCount-1;i>-1;i--) {
if ((mapScaleFactor>=LayerMinScale[i]) && (mapScaleFactor<=LayerMaxScale[i]) && (LayerVisible[i]==1)) {
fIindex = -1;
for (var k = hyperLinkLayers.length-1;k>-1;k--) {
if (hyperLinkLayers[k]==LayerName[i]) {
fIndex = k;
j = i;
}
}
}
}
if (j>-1) {
fID = j;
highlightedOne="";
var theX = mouseX;
var theY = mouseY;
getMapXY(theX,theY);
searchTolerance = (xDistance/iWidth) * pixelTolerance;
var west1 = mapX - searchTolerance;
var north1 = mapY + searchTolerance;
var east1 = mapX + searchTolerance;
var south1 = mapY - searchTolerance;
idSouth = south1;
idNorth = north1;
idWest = west1;
idEast = east1;
var tempSwap = swapSelectFields;
swapSelectFields=false;
var tempSelect = selectFields;
selectFields = LayerIDField[fID] + " " + LayerShapeField[fID] + " " + hyperLinkFields[fIndex];
var theString = writeIdentifyXML(LayerID[fID],LayerType[fID],selectFields,west1,south1,east1,north1,maxFeaturesReturned,useLimitExtent);
selectFields = tempSelect;
swapSelectFields=tempSwap;
showRetrieveData();
//if (useTextFrame) parent.TextFrame.document.location = "text.htm";
sendToServer(imsQueryURL,theString,16);
} else {
alert(msgList[114]);
}
} else {
alert(msgList[115]);
}
}
function parseHyperLinkAny(theReply) {
//alert(theReply);
var fList="";
var lpos1 = 1;
var lpos2 = 1;
var pos = 0;
var startpos = 0;
var endpos = 0;
var fString = theReply.substring(startpos,endpos);
var featureCount = justGetFeatureCount(theReply);
var linkString = "width=" + hyperlinkWindowWidth + ",height=" + hyperlinkWindowHeight + ",scrollbars=yes,resizable=yes"
var selectedData="";
var fCount = featureCount;
//alert("displayAttributeData()[featurecount=" + featureCount + "]");
selectCount = 0;
var tempString="";
inData = "";
if (featureCount > 0) {
var searchStr = hyperLinkFields[fIndex] + "=";
newSelectCount += 1;
endpos = 1;
pos = theReply.indexOf(searchStr,1);
startpos = pos + searchStr.length + 1;
endpos =theReply.indexOf(dQuote,startpos);
inData = theReply.substring(startpos,endpos);
}
if ((featureCount > 0) && (inData!=null) && (inData!="") & (inData!=" ")) {
var theLinkURL = hyperLinkPrefix[fIndex] + inData + hyperLinkSuffix[fIndex];
if (parent.TextFrame!=null) {
parent.TextFrame.document.open();
parent.TextFrame.document.writeln('<html><meta http-equiv="Content-Type" content="text/html; charset=' + charSet + '"><head>');
parent.TextFrame.document.writeln(' <title>' + titleList[9] + 's</title>');
parent.TextFrame.document.writeln('</head>');
parent.TextFrame.document.writeln('<body BGCOLOR="White" TEXT="Black" LEFTMARGIN=0 TOPMARGIN=0>');
parent.TextFrame.document.writeln('<FONT FACE="Arial"><B>' + LayerName[fID] +'</B></font><FONT FACE="Arial" size="-2">');
parent.TextFrame.document.writeln('<br>' + msgList[67] + theLinkURL );
parent.TextFrame.document.writeln('</FONT>');
parent.TextFrame.document.writeln('</body></html>');
parent.TextFrame.document.close();
}
var Win1=open(theLinkURL,"",linkString);
} else if (fID<layerCount) {
fID++;
var j = -1;
if ((mapScaleFactor>=LayerMinScale[fID]) && (mapScaleFactor<=LayerMaxScale[fID]) && (LayerVisible[fID]==1)) {
fIindex = -1;
for (var k = hyperLinkLayers.length-1;k>-1;k--) {
if (hyperLinkLayers[k]==LayerName[fID]) {
fIndex = k;
j = fID;
}
}
}
if (j>-1) {
var tempSwap = swapSelectFields;
swapSelectFields=false;
var tempSelect = selectFields;
selectFields = LayerIDField[fID] + " " + LayerShapeField[fID] + " " + hyperLinkFields[fIndex];
var theString = writeIdentifyXML(LayerID[fID],LayerType[fID],selectFields,idWest,idSouth,idEast,idNorth,maxFeaturesReturned,useLimitExtent);
selectFields = tempSelect;
swapSelectFields=tempSwap;
showRetrieveData();
//if (useTextFrame) parent.TextFrame.document.location = "text.htm";
sendToServer(imsQueryURL,theString,16);
} else {
parseHyperLinkAny("");
}
} else {
//alert(tempString);
if (parent.TextFrame!=null) {
parent.TextFrame.document.open();
parent.TextFrame.document.writeln('<html><meta http-equiv="Content-Type" content="text/html; charset=' + charSet + '"><head>');
parent.TextFrame.document.writeln(' <title>' + titleList[9] + '</title>');
parent.TextFrame.document.writeln('</head>');
parent.TextFrame.document.writeln('<body BGCOLOR="White" TEXT="Black" LEFTMARGIN=0 TOPMARGIN=0>');
parent.TextFrame.document.writeln('<FONT FACE="Arial" size="-1">');
parent.TextFrame.document.writeln('<br>' + msgList[116]);
parent.TextFrame.document.writeln('</FONT>');
parent.TextFrame.document.writeln('</body></html>');
parent.TextFrame.document.close();
} else {
var msg = msgList[116];
if (debugOn>0) {
msg = msg + msgList[9] + theReply;
}
alert(msg);
}
}
hideRetrieveData();
}
function writeOutDataPage(theReply,layerIndex,docObject,docName,pageObject) {
//var theReply = docObject.lastXMLResponse;
var theError = docObject.getXMLErrorMessage(theReply);
var fList="";
var lpos1 = 1;
var lpos2 = 1;
var epos = 1;
var spos = 1;
var morePoints=true;
var moreFeatures=true;
var featureCount = justGetFeatureCount(theReply);
//alert(featureCount);
var pos = 0;
var startpos = 0;
var endpos = xmlEndPos;
var stillMore = false
pos = theReply.indexOf('hasmore="true"',endpos);
if (pos!=-1) stillMore = true;
pos=0;
var tempCount = 0;
var selectedData="";
var inData="";
var xStr="";
var yStr="";
var tempString = "";
var fCount = featureCount;
//alert("displayAttributeData()[featurecount=" + featureCount + "]");
selectCount = 0;
var tempString="";
var theFrame = docName;
var dataString = "";
if (featureCount > 0) {
newSelectCount += 1;
var fontSize = isIE ? "xx-small" : "x-small";
dataString += '<center>\n';
dataString += '<FONT FACE="Arial" SIZE="-1"><b>' + LayerName[layerIndex] + '</b></FONT>\n';
dataString += '<table border="1" cellspacing="0" cellpadding="2" style="color: ' + textFrameTextColor + '; background-color: ' + tableBackColor + '; font-size: ' + fontSize + '; font-family: sans-serif;" nowrap="">\n';
endpos = 1;
for (var i=0;i<fCount;i++) {
//alert(endpos);
var envExists = true;
if ((toolMode!=4) && (toolMode!=25) && (toolMode!=5)) {
var endFeature = theReply.indexOf(endpos,"</FEATURE>");
envExists = isThereEnvelope(theReply, endpos, endFeature);
//alert("Envelope ="+ envExists);
if (envExists){
var theXYs = getEnvelopeXYs(theReply, endpos)
docObject.selectLeft[selectCount] = theXYs[0];
docObject.selectBottom[selectCount] = theXYs[1];
docObject.selectRight[selectCount] = theXYs[2];
docObject.selectTop[selectCount] = theXYs[3];
}
}
//alert(endpos);
inData = parseRecordString(theReply, endpos);
endpos = xmlEndPos;
selectedData = inData;
epos = theReply.indexOf("</FEATURE",endpos);
//alert("2\n" + selectedData);
var showHyper = false;
if (hyperLinkLayers!=null) {
var lyrIndex = layerIndex;
for (var s1=0;s1<hyperLinkLayers.length;s1++) {
if (hyperLinkLayers[s1] == LayerName[layerIndex]) showHyper=true;
}
}
var fName1 = getFieldNames(selectedData);
var fValue1 = getFieldValues(selectedData);
selectPoints[selectCount] = docObject.getIdValue(fName1, fValue1);
var idFieldNum = -1;
var shapeFieldNum = -1;
if (hideIDFieldData) {
// hide ID column header
for (var f=0;f<fName1.length;f++) {
if (fName1[f]==LayerIDField[layerIndex]) idFieldNum = f;
}
}
if (hideShapeFieldData) {
// hide Shape column header
for (var f=0;f<fName1.length;f++) {
if (fName1[f]==LayerShapeField[layerIndex]) shapeFieldNum = f;
}
}
if (selectCount==0) {
dataString += '<tr><th>' + msgList[86] + '</a></th>';
for (var f=0;f<fName1.length;f++) {
if ((f!=idFieldNum) && (f!=shapeFieldNum)) {
var f2 = -1;
if (useFieldAlias) {
for (var f3=0;f3<AliasFieldName.length;f3++) {
if (AliasFieldName[f3]==fName1[f]) f2 = f3;
}
}
if (f2!=-1) {
dataString += '<th>' + AliasFieldAlias[f2] + '</a></th>';
} else {
dataString += '<th>' + fName1[f] + '</a></th>';
}
}
}
dataString += '</tr>\n';
}
dataString += '<tr><td>';
var recNum = selectCount+queryStartRecord;
if ((toolMode!=4) && (toolMode!=5) && (toolMode!=25) && (envExists) ) dataString += '<a href="javascript:' + docName + '.showHighlight(' + selectCount + ')">';
dataString += '' + (recNum);
if ((toolMode!=4) && (toolMode!=5) && (toolMode!=25) && (envExists) ) dataString += '</a>';
dataString += '</td>\n';
for (var f=0;f<fName1.length;f++) {
if ((f!=idFieldNum) && (f!=shapeFieldNum)) {
dataString += '<TD>';
var isHyper=false;
if (showHyper) {
for (var s1=0;s1<hyperLinkFields.length;s1++) {
if(LayerName[layerIndex]==hyperLinkLayers[s1]){
if (hyperLinkFields[s1]==fName1[f]) {
if ((fValue1[f]!="") && (fValue1[f]!=" ")) {
var theLinkURL = hyperLinkPrefix[s1] + fValue1[f] + hyperLinkSuffix[s1];
dataString += '<a href="' + theLinkURL + '" target="_blank">';
isHyper=true;
break;
}
}
}
}
}
var s2 = -1;
for (var s1=0;s1<LayerFields.length;s1++) {
if (fName1[f]==LayerFields[s1]) s2=s1;
}
if (LayerFieldType[s2]=="91") {
//alert(fName1[f]);
if (isNaN(fValue1[f])) {
var theDate = fValue1[f];
} else {
var theDateObj = new Date(parseFloat(fValue1[f]));
var d = theDateObj.toUTCString();
var theDate = d.replace(/GMT|UTC/,"");
}
dataString += theDate;
theDate=null;
} else {
// put html entity for spaces so display is correct - browsers trim extra spaces
tempString = fValue1[f].replace(/ /g, " ");
// replace ' with \'
tempString = tempString.replace(/'/g, "\'");
dataString += tempString;
}
if (isHyper) dataString += '</a>';
dataString += '</td>\n';
}
}
dataString += '</tr>\n';
fName1 = null;
fValue1 = null;
selectCount += 1;
}
dataString += '</table>\n<FONT FACE="Arial" SIZE="-2">\n';
var getMoreData = "getMoreData";
if (toolMode==25) getMoreData = "getMoreBufferData";
if (queryStartRecord>1) {
var prevRecord = queryStartRecord - maxFeaturesReturned;
if (prevRecord<1) prevRecord=1;
//if ((toolMode==25) && (prevRecord==1)) prevRecord = 0;
dataString += '<a href="javascript:' + docName + '.' + getMoreData + '(' + prevRecord + ')">' + msgList[61] + maxFeaturesReturned + msgList[62] + '</a> \n';
}
if (stillMore) {
var nextRecord=featureCount + queryStartRecord;
dataString += '<a href="javascript:' + docName + '.' + getMoreData + '(' + nextRecord + ')">' + msgList[63] + '</a>\n';
}
if ((toolMode!=4) && (toolMode!=25) && (toolMode!=5) && (selectCount>1)) {
dataString += ' <b><a href="javascript:' + docName + '.zoomToReturnedRecords()">Zoom to these records</A></b>\n';
}
dataString += '</font></center>\n';
if ((queryStartRecord==1) && (toolMode!=4) && (toolMode!=25) && (toolMode!=5) && (toolMode!=9)) {
if ((selectCount==1) && (zoomToSingleSelect)) {
var fWidth = selectRight[0] - selectLeft[0];
var fHeight = selectTop[0] - selectBottom[0];
var mWMargin = 0;
var mHMargin = 0;
if (selectType=="point") {
mWMargin = fullWidth * selectPointMargin;
mHMargin = fullHeight * selectPointMargin;
if (mWMargin > xDistance/2) {
mWMargin = xDistance/2;
mHMargin = yDistance/2;
}
} else {
mWMargin = fWidth * selectMargin;
mHMargin = fHeight * selectMargin;
}
saveLastExtent();
eLeft = selectLeft[0] - mWMargin;
eRight = selectRight[0] + mWMargin;
eTop = selectTop[0] + mHMargin;
eBottom = selectBottom[0] - mHMargin;
}
sendMapXML();
}
} else {
dataString += '<center><FONT FACE="Arial" SIZE="-1"><B>' + LayerName[ActiveLayerIndex] +'</B></font><FONT FACE="Arial" size="-2">\n';
dataString += '<br>' + msgList[64] + '<br>\n';
if (debugOn>0) {
dataString += '<p>' + msgList[65] + '<br>\n';
dataString += untag(theReply);
} else {
if (theError!="") {
dataString += '<p>' + msgList[66] + '<br>\n';
dataString += theError;
}
}
dataString += '</FONT></center>\n';
}
if (toolMode==4) selectCount=0;
return dataString;
}
function isThereEnvelope(theString, startpos, endpos) {
theString = theString.toUpperCase();
var pos = theString.indexOf("<ENVELOPE",startpos,endpos);
if (pos>-1) return true;
else return false;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -