ArcGIS API for JavaScript 加载独立GeoWebCache发布的Wmts服务

其实ArcGIS API for JavaScript 也已经有两个例子了,不过就是在一些参数方面,没有解释清楚。Arcgis的例子是以Geoserver发布的服务作为举例的,而这里是用独立的GeoWebCache服务WMTS服务的,地址是http://localhost:8080/geowebcache/service/wmts,按照ArcGIS给出的例子调了两天也没调出来,例子如下(这已经是我改过的):

<script>
var map, wmtsLayer;
require([
"esri/map", "esri/layers/WMTSLayer", "esri/layers/WMTSLayerInfo",
"esri/geometry/Extent", "esri/layers/TileInfo", "esri/SpatialReference",
"dojo/parser",

"dijit/layout/BorderContainer", "dijit/layout/ContentPane", "dojo/domReady!"
], function (
Map, WMTSLayer, WMTSLayerInfo,
Extent, TileInfo, SpatialReference,
parser
) {
parser.parse();

map = new Map("map", {
logo: false
});

var tileInfo1 = new TileInfo({
"dpi": 96,
"format": "image/png",
"compressionQuality": 0,
"spatialReference": new SpatialReference({
"wkid": 3857
}),
"rows": 256,
"cols": 256,
"origin": {
"x": -20037508.342787001,
"y": 20037508.342787001
},
"lods": [{
"level": "EPSG:3857_ArcgisServerCn:0",
"scale": 591657527.591555,
"resolution": 156543.03392800014
}, {
"level": "EPSG:3857_ArcgisServerCn:1",
"scale": 295828763.79577702,
"resolution": 78271.516963999937
}, {
"level": "EPSG:3857_ArcgisServerCn:2",
"scale": 147914381.89788899,
"resolution": 39135.758482000092
}, {
"level": "EPSG:3857_ArcgisServerCn:3",
"scale": 73957190.948944002,
"resolution": 19567.879240999919
}, {
"level": "EPSG:3857_ArcgisServerCn:4",
"scale": 36978595.474472001,
"resolution": 9783.9396204999593
}, {
"level": "EPSG:3857_ArcgisServerCn:5",
"scale": 18489297.737236001,
"resolution": 4891.9698102499797
}, {
"level": "EPSG:3857_ArcgisServerCn:6",
"scale": 9244648.8686180003,
"resolution": 2445.9849051249898
}, {
"level": "EPSG:3857_ArcgisServerCn:7",
"scale": 4622324.4343090001,
"resolution": 1222.9924525624949
}, {
"level": "EPSG:3857_ArcgisServerCn:8",
"scale": 2311162.2171550002,
"resolution": 611.49622628137968
}, {
"level": "EPSG:3857_ArcgisServerCn:9",
"scale": 1155581.108577,
"resolution": 305.74811314055756
}]
});

//var tileExtent1 = new Extent(15458931.4659706, 2701989.00905778, 15477712.7689042, 2711695.89036901, new SpatialReference({
// wkid: 3857
//}));
var tileExtent1 = new Extent(13507034.394216927, 3656747.4331628317, 13519570.066855695, 3665308.3803307717, new SpatialReference({
wkid: 3857
}));

var layerInfo1 = new WMTSLayerInfo({
tileInfo: tileInfo1,
fullExtent: tileExtent1,
initialExtent: tileExtent1,
identifier: "ArcgisServerCn",
tileMatrixSet: "EPSG:3857_ArcgisServerCn",
format: "jpeg",
style: "_null"
});

var resourceInfo = {
version: "1.0.0",
layerInfos: [layerInfo1],
copyright: "open layer"
};

var options = {
serviceMode: "KVP",
resourceInfo: resourceInfo,
layerInfo: layerInfo1
};

wmtsLayer = new WMTSLayer("http://localhost:8080/geowebcache/service/wmts", options);
map.addLayer(wmtsLayer);
});

</script>

其实tileInfo1的dpi、format等参数对于独立geowebcache发布的服务并没有什么作用,主要是标红的地方需要注意了是发布服务的Grids Sets,如图,而不是简单的EPSG:3857。

时间: 2024-10-13 18:59:44

ArcGIS API for JavaScript 加载独立GeoWebCache发布的Wmts服务的相关文章

ArcGIS api for javascript——加载查询结果,悬停显示信息窗口

描述 本例在开始和地图交互前执行一个查询任务并加在查询结果.这允许用户鼠标悬停在任意郡县时立即见到InfoWindow.本例改变了信息窗口的默认行为,仅在鼠标单击时显示信息窗口. QueryTask构造函数接受被查询的图层,即ESRI sample server上ESRI_Census_USA服务的郡县图层(索引号是3). 注意这和地图使用的不是一个服务.地图使用来自ArcGIS Online的ESRI_StreetMap_World_2D服务. 通过这种方式能够使用在视觉上匹配的不同服务作为地

ArcGIS api for javascript——加载查询结果,单击显示信息窗口

描述 本例在开始和地图交互前执行一个查询并加载结果.这允许用户点击任意郡县立即看到一个InfoWindow. QueryTask构造函数接受被查询的图层,即ESRI sample server上ESRI_Census_USA服务的郡县图层(索引号是3). 注意这和地图使用的不是一个服务.地图使用来自ArcGIS Online的ESRI_StreetMap_World_2D服务. 通过这种方式能够使用在视觉上匹配的不同服务作为地图和查询任务的服务. 注意本例中,街道地图被显示在没有郡县可见的比例,

ArcGIS API for Silverlight 加载google地图

原文:ArcGIS API for Silverlight 加载google地图 using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Ink; using System.Windows.Input; using System.Windows.Media; using Syst

解决ArcGIS API for Silverlight 加载地图的内外网访问问题

原文:解决ArcGIS API for Silverlight 加载地图的内外网访问问题 先上一个类,如下: public class BaseClass { public static string getFullUri(string oldUriString) { string newUriString = oldUriString; //处理相对地址============================================================ if (newUri

ArcGIS API for Silverlight加载google地图(后续篇)

原文:ArcGIS API for Silverlight加载google地图(后续篇) 之前在博客中(http://blog.csdn.net/taomanman/article/details/8019687)提到的加载google地图方案,因为google地址问题,看不到图了,发现是url地址变换造成的. 现将如下三个类公布出来,源码如下: using System; using System.Net; using System.Windows; using System.Windows.

arcgis api for javascipt 加载天地图、百度地图

写在前面的话: 1.百度地图是自己定义的坐标系统,wkid=102100.百度地图数据是加密的产物.下文将附上百度坐标与WGS84,谷歌等坐标系统转换方法(地理-地理),此方法并未亲测,据说准 2.百度地图可以直接加载经纬度坐标 3.百度地图如果加载的arcgis api中会出现坐标偏移,1.中已经解决了地理坐标转换,那么找到百度投影-地理坐标的转换方式,则arcgis就可以直接无偏加载了,网上很多方法,但是亲测不行. 4.天地图不是涉密数据,根据本文提供的类库,arcgis api for j

ArcGis API for JavaScript 开发笔记一 加载地图

1.首先要配置GIS 环境 参考资料:看下这些大神的资料: http://blog.sina.com.cn/s/blog_708bacf90100yddk.html http://blog.csdn.net/wufeishimeng/article/category/522004 也可以查看官方的例子: https://developers.arcgis.com/javascript/jssamples/ 查看GIS 官方API https://developers.arcgis.com/jav

初学ArcGIS API for JavaScript

初学ArcGIS API for JavaScript 对于初学者来说,关于esri提供的一些样式和dojo自带的一些样式还是需要有一定的了解,这块在<WebGIS开发从基础到实践>讲解的特别详细,在这里以笔记的形式来帮助自己加以理解和记忆. esri.css样式主要用于ESRI提供的小部件与组件,比如地图.信息框等.此外,还可以引用Dojo提供的样式表,Dojo提供了4组样式,分别是claro\tundra\soria以及nihilo,每种是一组定义用户界面的字体.颜色与大小等设置.在Arc

arcgis api for javascript 3.16开发(一)

原来一直都在用Flex开发arcgis的地图接口,用的时间很长,用的习惯也顺手,可Flex这个开发工具已经基本要淘汰了,并且地图借助flash的方式加载在浏览器里已经不能适应webgis的快速开发需求,并且在多种客户端下支持度不是很好,所以转向了html5加arcgis api for javascript的开发,用了一段时间下来,感觉还挺好的,所以分享下经验.开发javasript的唯一不好的地方就是所有对象声明的时候都要看下开发文档,不像flex,AE开发都会有提示.我的开发环境是VS201