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

📄 jitk_information.js

📁 esri的ArcGIS Server超级学习模板程序(for java)
💻 JS
字号:
var jitkTaskScaleInfoArray = new Array();
var jitkTaskProjInfoArray = new Array();
var jitkTaskProjInfoDetailArray = new Array();

function JitkToken(name, value, indent){
    this.name = name;
    this.value = value;
    this.indent = indent;
    var self = this;
}

function JitkInfoProcessor(msg){
    this.stoken = '[';
    this.etoken = ']';
    this.ptoken = ',';
    this.indentWidth = 8;
    
    this.msg = msg;
    this.tokenArray = new Array();
    
    this.getStartPos = function(c){
        return c.lastIndexOf(this.stoken);        
    }
    
    this.getEndPos = function(c, startpos){
        return c.indexOf(this.etoken, startpos + 1);
    }
    
    this.getHTML = function(){
        var html = '<table border="0" cellpadding="0" cellspacing="0">';
        for (var i = this.tokenArray.length - 1; i >= 0; i--){
            html += '<tr><td><table border="0" cellpadding="0" cellspacing="0"><tr>';
            for (var j = 0; j < this.tokenArray[i].indent; j++){
                html += '<td width="' + this.indentWidth + '"></td>';
            }
            var param = this.tokenArray[i].value;
            param = param.replace(/_/g, " ");
            param = param.replace(/\"/g, "");
            html += '<td>' + this.tokenArray[i].name + '</td>';
			html += '<td width="' + this.indentWidth + '"></td>';
            html += '<td>' + param + '</td></tr>';
            html += '</tr></table>';
        }
        html + '</table>';
        return html;
    }
    
    this.parseToken = function(){
        var c = this.msg;
        var startpos = this.getStartPos(c);
        while (startpos >= 0){
            var endpos = this.getEndPos(c, startpos);
            var pre = c.substring(0, startpos);
            var post = c.substring(endpos + 1, c.length);
            var ppos = pre.lastIndexOf(this.ptoken);            
            var name = pre.substring(ppos + 1, pre.length);
            pre = pre.substring(0, ppos);
            var indent = post.split(this.etoken);
            var token = new JitkToken(name, c.substring(startpos + 1, endpos), indent.length - 1);
            this.tokenArray[this.tokenArray.length] = token;
            var c = pre + post;
            startpos = this.getStartPos(c);
        }
    }
    
    var self = this;
}


var JitkInfoUtil = new function() {
  var pe, win, listener;

  this.showWindow = function(title, defs) {
    if (win) destroyWindow()

    var time = new Date().getTime();
    pe = new EsriPageElement("jitk-info-pe-" + time);
    pe.divObject = document.body.appendChild(document.createElement("div"));
    var proc = new JitkInfoProcessor(defs);
    proc.parseToken();
    var html = proc.getHTML();
    html = '<table border="0">' + html + '</table>';
    pe.divObject.innerHTML = html;
    
    pe.divId = pe.divObject.id = "jitk-info-iframe-" + time;
    EsriUtils.setElementStyle(pe.divObject, "border:0px NONE;");

    win = new EsriWindow("jitk-info-win-" + time, title, pe);    
    win.init();
    win.resize(350,280);
    win.center();
    win.toFront();
  }
    
  this.closeWindow = function() { destroyWindow(); }
  function winListener(win) { if (win.closed) listener = null; }

  function destroyWindow() {
    win.hide();
    pe = pe.divObject = pe.divId = win = win.divObject = win.divId = null;
  }
}

function jitkTaskInformation_addTagHandler(){
	if (jitkTaskScaleInfoArray.length == 0 && jitkTaskProjInfoArray.length == 0){
		EsriControls.addPostBackTagHandler('jitk-map-information', jitkTaskInformation_TagHandler);
	}
}

function jitkTaskInformation_showDetail(idx){
  JitkInfoUtil.showWindow('', jitkTaskProjInfoDetailArray[idx]);
}

function jitkTaskInformation_TagHandler(xml, eventSources) {
  var idTag = xml.getElementsByTagName("map-id").item(0);
  if (!idTag) return;
  var mapId = idTag.firstChild.nodeValue;
  var mapScaleTag = xml.getElementsByTagName("map-scale").item(0);
  if (!mapScaleTag) return;
  var mapScale = mapScaleTag.firstChild.nodeValue;
  var mapProjTag = xml.getElementsByTagName("map-projection").item(0);
  if (!mapProjTag) return;
  var mapProj = mapProjTag.firstChild.nodeValue;
  var mapProjNameTag = xml.getElementsByTagName("map-projection-name").item(0);
  if (!mapProjNameTag) return;
  var mapProjName = mapProjNameTag.firstChild.nodeValue;
  for (var i = 0; i < jitkTaskScaleInfoArray.length; i++){ 
  	var mapScaleArr =mapScale.split(":");
  	setZoomToScale(mapScaleArr[1]);
    var disp1 = mapScale;
    var el = jitkTaskScaleInfoArray[i].replace(/:/g,"\\:");
    $("#"+el).text(disp1);
  }
  jitkTaskProjInfo = mapProj; 
  
  for (var i = 0; i < jitkTaskProjInfoArray.length; i++) {
	var chkCrtl = jitkTaskProjInfoArray[i].split(":");
	var chkMap = mapId.split(":");
    if (chkCrtl[0] == chkMap[0]){
    	jitkTaskProjInfoDetailArray[i] = mapProj;
		var disp1 = mapProjName;
		var el = jitkTaskProjInfoArray[i].replace(/:/g,"\\:");
		$("#"+el).text(disp1);
    }
  } 

}

function setZoomToScale(mScale) {
	//Populate zoomToScale Task with current scale
	if (document.getElementById('scaleTask_param_mapScaleTxt')) {
		document.getElementById('scaleTask_param_mapScaleTxt').value =  mScale;
	}

	//Reset the scale drop down to "Select.."
	if (document.getElementById('scaleTask_param_mapScales')) {
		document.getElementById('scaleTask_param_mapScales').selectedIndex = 0; 
	}
}

⌨️ 快捷键说明

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