📄 map.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 + -