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

📄 map.js

📁 arcims加点的测试程序
💻 JS
字号:
var startLeft = -180.0;
var startRight = 180.0;
var startTop = 90.0;
var startBottom = -90.0;

var meLeft = -180.0;
var meRight = 180.0;
var meTop = 90.0;
var meBottom = -90.0;

var xDistance = Math.abs(meRight-meLeft);
var yDistance = Math.abs(meTop-meBottom);
var panX = xDistance * panFactor;
var panY = yDistance * panFactor;
var pixelX = xDistance/iWidth;
var pixelY = yDistance/iHeight;
var mapX = meLeft;
var mapY = meTop;
var mouseX;
var mouseY;
var hspc = 0;
var vspc = 0;
var panFactor = 85/100;
var iWidth = 0;
var iHeight = 0;
var ScaleBarPrecision = 2;
var numDecimals = ScaleBarPrecision;
var mapScaleFactor = xDistance / iWidth;
var ScaleBarUnits = "Kilometers";		

function getXYs() {
	var tempStr = "";
	var smallStr = "";
	var startpos = 0;
	var endpos = 0;
	
	xDistance = Math.abs(meRight-meLeft);
	yDistance = Math.abs(meTop-meBottom);
	xHalf = xDistance / 2;
	yHalf = yDistance / 2;
	panX = xDistance * panFactor;
	panY = yDistance * panFactor;
	var sFactor = xDistance / iWidth
    var aspectRatio = iWidth / iHeight;
    var extentRatio = (meRight-meLeft) / (meTop-meBottom);
    if (extentRatio < aspectRatio) sFactor = (meTop-meBottom) / iHeight;
    mapScaleFactor = sFactor;
	
}

function setEnvelope(){
	
	var _objl = document.getElementById('LabelW');
	var _objb = document.getElementById('LabelS');
	var _objr = document.getElementById('LabelE');
	var _objt = document.getElementById('LabelN');
	if (_objl.innerHTML!=""){
		getEnvelope(_objl.innerHTML,_objb.innerHTML,_objr.innerHTML,_objt.innerHTML);
	}
}

function getEnvelope(L,B,R,T){
    meLeft = parseFloat(L);
    meRight = parseFloat(R);
    meTop = parseFloat(T);
    meBottom = parseFloat(B);
    //alert(meLeft+'\n'+meBottom+'\n'+meRight+'\n'+meTop);
}

function Init(){
    var _ex = new Array();
    var _obj = document.getElementById('Label1');
    var _str = _obj.innerText;
    _ex = _str.split('|');
    startLeft = parseFloat(_ex[3]);
    startRight = parseFloat(_ex[1]);
    startTop = parseFloat(_ex[0]);
    startBottom = parseFloat(_ex[2]);
    //alert(startLeft+','+startBottom+','+startRight+','+startTop);
    getEnvelope(startLeft,startBottom,startRight,startTop);
    //alert(meLeft+'\n'+meBottom+'\n'+meRight+'\n'+meTop);
    var _objMap = document.getElementById('Map1');
    
    iWidth = _objMap.style.width;
    iHeight = _objMap.style.height;
    iWidth = parseInt(iWidth.replace(/px/g, ""));
    iHeight = parseInt(iHeight.replace(/px/g, ""));
    
    hspc = _objMap.style.left;
    vspc = _objMap.style.top;
    hspc = hspc.replace(/px/g, "");
    vspc = vspc.replace(/px/g, "");
    //手动设置
    if (hspc=="") hspc=12;
    if (vspc=="") vspc=68;
    
    getXYs();
    document.onmousemove = getMouse;
    MeasureInit();
    //alert(meLeft+'\n'+meBottom+'\n'+meRight+'\n'+meTop+'\n\n'+iWidth+'\n'+iHeight+'\n'+hspc+'\n'+vspc);
}

//=============================================================
function getMapXY(xIn,yIn) {
		mouseX = xIn;
		pixelX = xDistance / iWidth;
		mapX = pixelX * mouseX + meLeft;
		mouseY = iHeight - yIn;
		pixelY = yDistance / iHeight;
		mapY = pixelY * mouseY + meBottom;
		//window.status = meLeft+'|'+meBottom+'|'+meRight+'|'+meTop+'|'+iWidth+'|'+iHeight;
}

function getImageXY(e) {
	if (isNav) {
		mouseX=e.pageX;
		mouseY=e.pageY;
	} else {
		mouseX=event.clientX + document.body.scrollLeft;
		mouseY=event.clientY + document.body.scrollTop;
	}
	// subtract offsets from page left and top
//	window.status = mouseX+','+mouseY;    

	mouseX = mouseX-hspc;
	mouseY = mouseY-vspc;

}	

function getMouse(e) {
	window.status="";
	setEnvelope();
	getXYs();
	getImageXY(e);
	mouseStuff();
	return false;
}

function mouseStuff() {
	getMapXY(mouseX,mouseY);
	//window.status = meLeft+'|'+meBottom+'|'+meRight+'|'+meTop+'|'+iWidth+'|'+iHeight;
	//window.status = mapX+','+mapY;
	var u = Math.pow(10,numDecimals);
	
	var uX = Math.round(mapX * u) / u;
	var uY= Math.round(mapY * u) / u;
	var mouseString = "Map:" + uX + " , " + uY + " -- " + "   Image:" + mouseX + " , " + mouseY;	
	mouseString = mouseString + " -- ScaleFactor:" + mapScaleFactor;
	window.status = mouseString;
}

⌨️ 快捷键说明

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