ArcGIS api for javascript——图层-创建WMS图层类型的图层
本例使用一个WMS端点创建了一个简单的动态图层。首先,代码声明一个新的类my.CityStatesRiversUSAWMSLayer,该类继承esri.layers.DynamicMapServiceLayer。
- dojo.declare("my.CityStatesRiversUSAWMSLayer", DynamicMapServiceLayer, {
- ...
- });
接下来定义了类的构造函数。图层的初始化和完整的范围和空间参考都被定义在构造函数中。代码也设置了图层的loaded属性为true并调用onLoad函数。
- constructor: function() {
- this.initialExtent = this.fullExtent = new esri.geometry.Extent(...);
- this.spatialReference = new esri.SpatialReference(...);
- this.loaded = true;
- this.onLoad(this);
- },
最后,getImageUrl方法被执行。getImageUrl方法返回被加到地图的图片的URL。URL使用带范围,宽和高的参数的函数生成。callback函数被调用别且URL作为单一参数被传回。
- getImageUrl: function(extent, width, height, callback) {
- ...
- callback("..." + dojo.objectToQuery(params));
- }
为了使用这个图层,代码创建一个地图并且增加一个来自ArcGIS Online的切片图层,然后在上面放置新建的WMS图层。
- function init() {
- var map = new esri.Map("map");
- map.addLayer(new esri.layers.ArcGISTiledMapServiceLayer("..."));
- map.addLayer(new my.CityStatesRiversUSAWMSLayer());
- }
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
- <html lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=7" />
- <title>Portland Tile Server</title>
- <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.5/js/dojo/dijit/themes/tundra/tundra.css">
- <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.5"></script>
- <script type="text/javascript">
- dojo.require("esri.map");
- dojo.declare("my.PortlandTiledMapServiceLayer",esri.layers.TiledMapServiceLayer,{
- constructor:function(){
- this.spatialReference = new esri.SpatialReference({wkid:4326});
- this.initialExtent = (this.fullExtent = new esri.geometry.Extent(-123.596895130725, 44.297575737946, -121.553757125519, 46.3683237161949, this.spatialReference));
- this.tileInfo = new esri.layers.TileInfo({
- "rows" :512,
- "cols" :512,
- "dpi" :96,
- "format":"PNG32",
- "compressionQuality":0,
- "origin": {
- "x" : -180,
- "y" :90
- },
- "spatialReference" : {
- "wkid" : 4326
- },
- "lods" :[
- {"level" : 0, "resolution" : 0.351562499999999, "scale" : 147748799.285417},
- {"level" : 1, "resolution" : 0.17578125, "scale" : 73874399.6427087},
- {"level" : 2, "resolution" : 0.0878906250000001, "scale" : 36937199.8213544},
- {"level" : 3, "resolution" : 0.0439453125, "scale" : 18468599.9106772},
- {"level" : 4, "resolution" : 0.02197265625, "scale" : 9234299.95533859},
- {"level" : 5, "resolution" : 0.010986328125, "scale" : 4617149.97766929},
- {"level" : 6, "resolution" : 0.0054931640625, "scale" : 2308574.98883465},
- {"level" : 7, "resolution" : 0.00274658203124999, "scale" : 1154287.49441732},
- {"level" : 8, "resolution" : 0.001373291015625, "scale" : 577143.747208662},
- {"level" : 9, "resolution" : 0.0006866455078125, "scale" : 288571.873604331},
- {"level" : 10, "resolution" : 0.000343322753906249, "scale" : 144285.936802165},
- {"level" : 11, "resolution" : 0.000171661376953125, "scale" : 72142.9684010827},
- {"level" : 12, "resolution" : 8.58306884765626E-05, "scale" : 36071.4842005414},
- {"level" : 13, "resolution" : 4.29153442382813E-05, "scale" : 18035.7421002707},
- {"level" : 14, "resolution" : 2.14576721191406E-05, "scale" : 9017.87105013534},
- {"level" : 15, "resolution" : 1.07288360595703E-05, "scale" : 4508.93552506767}
- ]
- });
- this.loaded = true;
- this.onLoad(this);
- },
- getTileUrl: function(level, row, col) {
- return "http://sampleserver1.arcgisonline.com/arcgiscache/Portland_Portland_ESRI_LandBase_AGO/Portland/_alllayers/" +
- "L" + dojo.string.pad(level, 2, '0') + "/" +
- "R" + dojo.string.pad(row.toString(16), 8, '0') + "/" +
- "C" + dojo.string.pad(col.toString(16), 8, '0') + "." +
- "png";
- }
- });
- function init() {
- var map = new esri.Map("map");
- map.addLayer(new my.PortlandTiledMapServiceLayer());
- }
- dojo.addOnLoad(init);
- </script>
- </head>
- <body class="tundra">
- <div id="map" style=" width:1024px; height:512px; border:1px solid #000;"></div>
- </body>
- </html>
ArcGIS api for javascript——图层-创建WMS图层类型的图层的更多相关文章
- ArcGIS api for javascript——动态创建图层列表
描述 本例循环地图服务里的所有图层并增加每个图层到一个带checkbox的列表,checkbox能设置图层的显示或隐藏.动态创建列表的优势是所有的图层都会包含在列表中,即使服务器管理员删除或增加了图层 ...
- ArcGIS API for JavaScript(2)-ArcGIS Server发布要素图层服务
1.前言 上一篇该系列的文章我们主要讲了一下基础Web地图搭建,这篇我们主要讲一下ArcGIS Server发布服务,并且如何调用服务.将自己的数据加载到Web地图当中来,实现Web端浏览数据. 2. ...
- 转:ArcGIS API For JavaScript官方文档(二十)之图形和要素图层——①Graphics概述
原文地址:ArcGIS API For JavaScript官方文档(二十)之图形和要素图层——①Graphics概述 ArcGIS JavaScript API允许在地图上绘制graphic(图形) ...
- arcgis api for JavaScript _加载三维图层(scene layer)
arcgis api for JavaScript _加载三维图层(scene layer) arcgis api for JavaScript 4.x 版本增加对三维的支持. 关于三维图层(sce ...
- 创建ArcGIS API for JavaScript的第一个示例程序
原文:创建ArcGIS API for JavaScript的第一个示例程序 在上一篇博客中已经介绍了如何搭建ArcGIS API for JavaScript开发环境,如果您还没有搭建好开发环境的话 ...
- ArcGIS API for Silverlight 调用GP服务加载等值线图层
原文:ArcGIS API for Silverlight 调用GP服务加载等值线图层 第二篇.Silverlight客户端调用GP服务 利用ArcGIS API for Silverlight实现G ...
- arcgis api 3.x for js 入门开发系列七图层控制(附源码下载)
前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...
- ArcGIS API for JavaScript介绍
ArcGIS API for JavaScript中的类是按照模块组织的,主要包含esri.esri/geometry.esri/renderers.esri/symbols.esri/symbols ...
- ArcGIS API for JavaScript 4.2学习笔记[5] 官方API大章节概述与内容转译
内容如上,截图自ESRI官网,连接:ArcGIS API for JavaScript 4.2 [Get Started] 类似于绪论一样的东西,抽取了最需要关注的几个例子.如:加载Map和View, ...
- ArcGIS API for JavaScript FeatureLayer服务属性编辑
首先说一下感想吧,刚入行时感觉深似海,掉到了GIS开发的陨石大坑里了,首先是学了小半年的Flex,用到了ArcGIS API for Flex,接着又是半年的ArcEngine开发,现在终于摸到了一点 ...
随机推荐
- First-class citizen
In programming language design, a first-class citizen (also type, object, entity, or value) in a giv ...
- ZBrush功能特性之法线贴图
ZMapper是ZBrush2.0推出的免费法线贴图插件.使用ZBrush革命性的多级别精度和新型的照明-快速光线跟踪器,ZMapper可以在几秒内产生适用于任何游戏引擎的法线贴图,不过3.5版本以后 ...
- Dapper Dapper-Extensions
之前公司在开发项目的时候有用到过Dapper 仓储 以及IOC Castel .最近新项目上想使用上这些技术,决定新学习一下. 看了很多资料,发现几个比较容易菜鸟的我理解的,整理下来,找时间好好整理一 ...
- FCC编程题之中级算法篇(中)
介绍 接着上次的中级算法题 目录 1. Missing letters 2. Boo who 3. Sorted Union 4. Convert HTML Entities 5. Spinal Ta ...
- pyftpdlib 搭建ftp环境
环境搭建: pythonwindows/linuxpip install pyftpdlib (安装失败请到这里下载:https://pypi.python.org/pypi/pyftpdlib/)一 ...
- Go语言的前景分析
本文为原创文章,转载注明出处,asdfasdfasdf 欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续精彩文章.觉得好的话,顺手分享到朋 ...
- 紫书 例题11-11 UVa 12661 (dihkstra变形)
这道题主要比较权值的时候要改变一下,其他地方基本一样. 比较权值的时候要考虑边的时间与a, b 可以设相对于当前边的时间now, 则now = d[u] % (a+b), 也就是当前这个边进行到整个a ...
- Qt之OpenSSL
简述 OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 简述 下载安装 使用 更多参考 下载安装 ...
- EularProject 42:单词解码出来的三角形数
Coded triangle numbers Problem 42 The nth term of the sequence of triangle numbers is given by, tn = ...
- asm下重定向数据文件小例(使用toad工具)
原创作品,出自 "深蓝的blog" 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46863991 场景 ...