mirror of
				https://github.com/jiawanlong/Cesium-Examples.git
				synced 2025-11-04 09:14:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
(function(){
 | 
						|
     var imgSize = {
 | 
						|
         "A0":{
 | 
						|
             width:parseInt(118.9*28.3),
 | 
						|
             height:parseInt(84.1*28.3)
 | 
						|
         },
 | 
						|
         "A1":{
 | 
						|
             width:parseInt(84.1*28.3),
 | 
						|
             height:parseInt(59.4*28.3)
 | 
						|
         }
 | 
						|
     }
 | 
						|
     var LargeFormatPrint = {};
 | 
						|
    /**
 | 
						|
     * url:"http://localhost:8090/iserver/services/map-china400/rest/maps/China"
 | 
						|
     * projection:"3857"
 | 
						|
     * scale:0.000000004339
 | 
						|
     * center:new SuperMap.LonLat(0,0)
 | 
						|
     * pageSize:"A0",仅支持A1和A0
 | 
						|
     * */
 | 
						|
     LargeFormatPrint.excute = function(url,projection,scale,center,pageSize,map,callback){
 | 
						|
         if(url&&projection&&scale&¢er&&pageSize){
 | 
						|
             //向服务端请求一张整张的图片
 | 
						|
             var requestUrl = url+"/image.png?";
 | 
						|
             requestUrl += "scale="+scale;
 | 
						|
             requestUrl += "¢er="+encodeURIComponent(JSON.stringify({x:center.lon,y:center.lat}));
 | 
						|
             var size = imgSize[pageSize];
 | 
						|
             requestUrl += "&width="+size.width+"&height="+size.height;
 | 
						|
             requestUrl += "&transparent=false&prjCoordSys="+encodeURIComponent('{"epsgCode":'+projection+'}');
 | 
						|
 | 
						|
             var img = new Image();
 | 
						|
             img.src = requestUrl;
 | 
						|
             if (img.addEventListener) {
 | 
						|
                 img.addEventListener("load", onImgLoad, false);
 | 
						|
             } else if (element.attachEvent) {
 | 
						|
                 img.attachEvent('onload', onImgLoad);
 | 
						|
             }
 | 
						|
         }
 | 
						|
         else{
 | 
						|
             alert("参数不正确");
 | 
						|
         }
 | 
						|
 | 
						|
         function onImgLoad(){
 | 
						|
             //将图片放到页面上先预览效果,如果觉得不对,可点击取消重来
 | 
						|
             var div = document.createElement("div");
 | 
						|
             div.style.position = "absolute";
 | 
						|
             div.style.top = "0px";
 | 
						|
             div.style.zIndex = 999;
 | 
						|
             div.style.left = "0px";
 | 
						|
             //div.style.border = "solid 5px #4c4c4c";
 | 
						|
             div.style.background = "#ffffff";
 | 
						|
             div.style.height = "558px";
 | 
						|
             div.style.width = "100%";
 | 
						|
             document.body.appendChild(div);
 | 
						|
 | 
						|
             var imgDiv = document.createElement("div");
 | 
						|
             imgDiv.style.position = "relative";
 | 
						|
             imgDiv.style.height = "520px";
 | 
						|
             imgDiv.style.textAlign = "center";
 | 
						|
             imgDiv.style.border = "1px solid #4c4c4c";
 | 
						|
             img.style.position="relative";
 | 
						|
             //img.style.verticalAlign = "middle";
 | 
						|
            // img.style.zIndex = 999;
 | 
						|
             //img.style.left="0px";
 | 
						|
             //img.style.top = "38px";
 | 
						|
            // img.style.width = "935px";
 | 
						|
             img.style.height = "520px";
 | 
						|
             img.style.width = "auto";
 | 
						|
 | 
						|
             imgDiv.appendChild(img);
 | 
						|
             //window.body.appendChild(img);
 | 
						|
 | 
						|
             var div1 = document.createElement("div");
 | 
						|
             div1.style.position = "relative";
 | 
						|
             div1.style.height = "38px";
 | 
						|
             div.appendChild(div1);
 | 
						|
             div.appendChild(imgDiv);
 | 
						|
 | 
						|
             var button = document.createElement("button");
 | 
						|
             div1.appendChild(button);
 | 
						|
             button.innerHTML = "打印";
 | 
						|
             button.onclick = function(){
 | 
						|
                 //将图片放于页面上,并调用浏览器打印接口
 | 
						|
                 document.body.removeChild(div);
 | 
						|
 | 
						|
                 img.style.left="0px";
 | 
						|
                 img.style.top = "0px";
 | 
						|
                 img.style.width = "";
 | 
						|
                 img.style.height = "";
 | 
						|
                 img.style.zIndex = 999;
 | 
						|
                 img.style.border = "";
 | 
						|
                 document.body.appendChild(img);
 | 
						|
                 if(map)map.div.style.display = "none";
 | 
						|
                 window.print();
 | 
						|
                 if(map)map.div.style.display = "block";
 | 
						|
                 document.body.removeChild(img);
 | 
						|
                 if(callback)callback();
 | 
						|
             }
 | 
						|
 | 
						|
             var button1 = document.createElement("button");
 | 
						|
             div1.appendChild(button1);
 | 
						|
             button1.innerHTML = "取消";
 | 
						|
             button1.onclick = function(){
 | 
						|
                 document.body.removeChild(div);
 | 
						|
                 if(callback)callback();
 | 
						|
             }
 | 
						|
         }
 | 
						|
     }
 | 
						|
     window.LargeFormatPrint = LargeFormatPrint;
 | 
						|
})() |