關於ArcGis for javascript的引用天地圖


1. 在引用天地圖時, 我們要自定義一個相關的比例尺轉換類

  1 const tileInfoObj = {
  2   rows: 256,
  3   cols: 256,
  4   compressionQuality: 0,
  5   origin: {
  6     x: -180,
  7     y: 90,
  8   },
  9   spatialReference: {
 10     wkid: 4326,
 11   },
 12   lods: [
 13     {
 14       level: 2,
 15       resolution: 0.3515625,
 16       scale: 147748796.52937502,
 17     },
 18 
 19     {
 20       level: 3,
 21       resolution: 0.17578125,
 22       scale: 73874398.264687508,
 23     },
 24 
 25     {
 26       level: 4,
 27       resolution: 0.087890625,
 28       scale: 36937199.132343754,
 29     },
 30 
 31     {
 32       level: 5,
 33       resolution: 0.0439453125,
 34       scale: 18468599.566171877,
 35     },
 36 
 37     {
 38       level: 6,
 39       resolution: 0.02197265625,
 40       scale: 9234299.7830859385,
 41     },
 42 
 43     {
 44       level: 7,
 45       resolution: 0.010986328125,
 46       scale: 4617149.8915429693,
 47     },
 48 
 49     {
 50       level: 8,
 51       resolution: 0.0054931640625,
 52       scale: 2308574.9457714846,
 53     },
 54 
 55     {
 56       level: 9,
 57       resolution: 0.00274658203125,
 58       scale: 1154287.4728857423,
 59     },
 60 
 61     {
 62       level: 10,
 63       resolution: 0.001373291015625,
 64       scale: 577143.73644287116,
 65     },
 66 
 67     {
 68       level: 11,
 69       resolution: 0.0006866455078125,
 70       scale: 288571.86822143558,
 71     },
 72 
 73     {
 74       level: 12,
 75       resolution: 0.00034332275390625,
 76       scale: 144285.93411071779,
 77     },
 78 
 79     {
 80       level: 13,
 81       resolution: 0.000171661376953125,
 82       scale: 72142.967055358895,
 83     },
 84 
 85     {
 86       level: 14,
 87       resolution: 8.58306884765625e-005,
 88       scale: 36071.483527679447,
 89     },
 90 
 91     {
 92       level: 15,
 93       resolution: 4.291534423828125e-005,
 94       scale: 18035.741763839724,
 95     },
 96 
 97     {
 98       level: 16,
 99       resolution: 2.1457672119140625e-005,
100       scale: 9017.8708819198619,
101     },
102 
103     {
104       level: 17,
105       resolution: 1.0728836059570313e-005,
106       scale: 4508.9354409599309,
107     },
108 
109     {
110       level: 18,
111       resolution: 5.3644180297851563e-006,
112       scale: 2254.4677204799655,
113     },
114   ],
115 };

2.使用dojo的方式引入調用天地圖要使用的插件

dojo.require('esri.layers.WebTiledLayer');   // 加載天地圖

3.調用天地圖插件引用天地圖

 1 // 加載天地圖底圖
 2 function LoadingTianDiMap() {
 3   const tileInfo = new esri.layers.TileInfo(tileInfoObj);    // 這是我們自定義的比例尺轉換工具類
 4   // 電子底圖
 5   myDtLayer = new esri.layers.WebTiledLayer("https://${subDomain}.tianditu.com/DataServer?T=vec_c&X=${col}&Y=${row}&L=${level}", {
 6     copyright: 'Tianditu',
 7     id: 'Tianditu0',
 8     subDomains: ['t0', 't1', 't2'],
 9     tileInfo,
10   });
11   // 衛星底圖
12   mySatelliteLayer = new esri.layers.WebTiledLayer("https://${subDomain}.tianditu.com/DataServer?T=img_c&X=${col}&Y=${row}&L=${level}", {
13     copyright: 'Tianditu',
14     id: 'Tianditu',
15     subDomains: ['t0', 't1', 't2'],
16     tileInfo,
17   });
18   mySatelliteLayer.hide(); // 默認隱藏
19   // 標注圖層
20   baseMapMarker = new esri.layers.WebTiledLayer("https://${subDomain}.tianditu.com/DataServer?T=cva_c&X=${col}&Y=${row}&L=${level}", {
21     copyright: 'Tianditu',
22     id: 'Tianditu2',
23     subDomains: ['t0', 't1', 't2'],
24     tileInfo,
25   });
26   map.addLayer(myDtLayer, 0);
27   map.addLayer(mySatelliteLayer, 1); // 添加衛星圖
28   map.addLayer(baseMapMarker, 2);
29   zoom = 11;
30 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM