zoukankan      html  css  js  c++  java
  • 使用ArcGIS JavaScript API 3.18 加载天地图

    对于中国开发者在创建GIS应用的时候,往往比较头疼的是底图资源的缺乏。其实国家测绘地信局就提供一个很好的免费资源:天地图。使用ArcGIS API的开发人员可以直接利用该资源作为地图应用的底图。

    ArcGIS JavaScript API最近新推出了3.18版本。所以下面示例代码将基于该版本。

    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" />
    	<title>Test Map</title>
    	<link rel="stylesheet" href="http://localhost/arcgis_js_api/library/3.18/3.18/dijit/themes/claro/claro.css" />
    	<link rel="stylesheet" href="http://localhost/arcgis_js_api/library/3.18/3.18/esri/css/esri.css" />
    	<style>
    		html,
    		body,
    		#ui-map-view {
    			margin: 0;
    			padding: 0;
    			 100%;
    			height: 100%;
    		}
    	</style>
    	<script src="http://localhost/arcgis_js_api/library/3.18/3.18/init.js"></script>
    	<script>
    var myMap
    
    require([
      'dojo/_base/declare',
      'esri/layers/ArcGISTiledMapServiceLayer',
      'esri/layers/TiledMapServiceLayer',
      'esri/map',
      'esri/layers/TileInfo',
      'esri/layers/LOD',
      'esri/SpatialReference',
      'dojo/domReady!'
    ], function (declare, TileLayer, TiledMapServiceLayer, Map, TileInfo, LOD, SpatialReference) {
    
      declare('TDTLayer', TiledMapServiceLayer, {
        constructor: function () {
          this.spatialReference = new esri.SpatialReference({ wkid: 4490 })
          this.initialExtent = (this.fullExtent = new esri.geometry.Extent(-180.0, -90.0, 180.0, 90.0, this.spatialReference))
    
          this.tileInfo = new esri.layers.TileInfo({
            'rows': 256,
            'cols': 256,
            'compressionQuality': 0,
            'origin': {
              'x': -180,
              'y': 90
            },
            'spatialReference': {
              'wkid': 4490
            },
            'lods': [
              {'level': 2, 'resolution': 0.3515625, 'scale': 147748796.52937502},
              {'level': 3, 'resolution': 0.17578125, 'scale': 73874398.264687508},
              {'level': 4, 'resolution': 0.087890625, 'scale': 36937199.132343754},
              {'level': 5, 'resolution': 0.0439453125, 'scale': 18468599.566171877},
              {'level': 6, 'resolution': 0.02197265625, 'scale': 9234299.7830859385},
              {'level': 7, 'resolution': 0.010986328125, 'scale': 4617149.8915429693},
              {'level': 8, 'resolution': 0.0054931640625, 'scale': 2308574.9457714846},
              {'level': 9, 'resolution': 0.00274658203125, 'scale': 1154287.4728857423},
              {'level': 10, 'resolution': 0.001373291015625, 'scale': 577143.73644287116},
              {'level': 11, 'resolution': 0.0006866455078125, 'scale': 288571.86822143558},
              {'level': 12, 'resolution': 0.00034332275390625, 'scale': 144285.93411071779},
              {'level': 13, 'resolution': 0.000171661376953125, 'scale': 72142.967055358895},
              {'level': 14, 'resolution': 8.58306884765625e-005, 'scale': 36071.483527679447},
              {'level': 15, 'resolution': 4.291534423828125e-005, 'scale': 18035.741763839724},
              {'level': 16, 'resolution': 2.1457672119140625e-005, 'scale': 9017.8708819198619},
              {'level': 17, 'resolution': 1.0728836059570313e-005, 'scale': 4508.9354409599309},
              {'level': 18, 'resolution': 5.3644180297851563e-006, 'scale': 2254.4677204799655}
            ]
          })
    
          this.loaded = true
          this.onLoad(this)
        },
    
        getTileUrl: function (level, row, col) {
          return 'http://t0.tianditu.com/DataServer?T=vec_c&X=' + col + '&Y=' + row + '&L=' + level
        }
      })
    
    
      myMap = new Map('ui-map-view', {
        center: [111.87, 23.57]
    
      })
    
      var tdt = new TDTLayer()
    
      myMap.addLayer(tdt)
    
    })
    
        </script>
    </head>
    
    <body class="claro">
    	<div id="ui-map-view"></div>
    </body>
    
    </html>
    

      

      

  • 相关阅读:
    Python3基础 keyword 查看所有的关键字
    Python3基础 print 格式化输出 %% 输出%
    Python3基础 print 格式化输出 %f %d 保留浮点数的位数 整数的位数不够零来凑
    Python3基础 for-else break、continue跳出循环示例
    Python3基础 global 在函数内部对全局变量进行修改
    Python3基础 continue while循环示例
    Python3基础 def 函数要先定义再调用
    Python3基础 输出逐行递增的小星星
    Python3基础 九九乘法表
    C#调用接口返回json数据中含有双引号 或其他非法字符的解决办法
  • 原文地址:https://www.cnblogs.com/luwl/p/5923931.html
Copyright © 2011-2022 走看看