arcgis api for js入門開發系列十二地圖列印(GP服務)
(1)地圖列印實現的思路如下:首先在創建好地圖列印GP模型,設置好模型的參數;其次是驗證模型運行模型;然後是發布地圖列印的GP服務;最後是利用arcgis api調用發布好的地圖列印GP服務即可。
地圖列印的GP模型如下:
(2)實現地圖列印功能的核心代碼如下:$("#startPrint").bind("click", function (e) {n esriConfig.defaults.io.proxyUrl = getRootPath() + "proxy.ashx";//設置列印跨域代理請求n esriConfig.defaults.io.alwaysUseProxy = true;n var printMapObject = BX.Print.map;//設置地圖對象var printTask = new esri.tasks.PrintTask(MapConfig.printGPURL, { async: true });//printGPURL地圖列印GP服務n var tText = $("#inputTitle").val();n var aText = $("#inputAuthor").val();n var oLayout = $(#cbxLayout).val();n var oFormat = $(#cbxFormat).val();n var layouts = [{//設置列印地圖排版信息n options: {n scalebarUnit: "Meters",n titleText: tText,n authorText: aTextn }n }];n var template = new esri.tasks.PrintTemplate();//創建地圖列印的模板n template.format = oFormat;//設置輸出格式n template.layout = oLayout;//設置排版n template.preserveScale = false;n template.layoutOptions = layouts[0].options;n var params = new esri.tasks.PrintParameters();n params.map = printMapObject;n params.template = template;n printTask.execute(params, printResult, printError);//執行地圖列印GP調用n });n
printResult = function (e) {//列印成功 n BX.Print.map.graphics.clear();n window.open(e.url, "_blank");n window.location = getRootPath() + "/handler/SavePrintResultHandler.ashx?resultUrl=" + e.url;//請求後台,彈出下載n };n n printError = function (e) {//列印失敗callbackn alert("列印失敗!");n console.log(e.error);n };n
備註:團隊承接webgis/gis畢業設計以及webgis項目等業務,歡迎有相關需求的客戶來諮詢
GIS之家接受webgis開發遇到的技術疑點難點在線諮詢,採取在線分答計時收費模式,有需要的加QQ:406503412GIS之家論壇(推薦):GIS之家論壇GIS作品:GIS之家QQ興趣部落:GIS之家部落GIS之家交流群一:432512093(已滿)
GIS之家交流群二:296438295推薦閱讀:
※ArcGIS 1.1
※【數據運用】基於時空圈測度的京津冀城市群研究
※ArcGIS Pro 2.0的發布意味著什麼?
※arcgis api for js入門開發系列三地圖工具欄
※『規劃師的ArcGIS應用手冊』- 遙感影像的用地解譯