arcgis api 4.x for js地图加载arcgis server本地离线瓦片(附源码以及测试瓦片数据下载)

前言

关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 4.x for js:esri 官网 api,里面详细的介绍 arcgis api 4.x 各个类的介绍,还有就是在线例子:esri 官网在线例子,这个也是学习 arcgis api 4.x 的好素材。javascript

前几天群里,有位群友在咨询arcgis api 4加载arcgis server本地离线瓦片,好像网上搜索都是arcgis api 3加载的;恰好我今天有空,就测试一下arcgis api 4加载的案例,具体实现参考arcgis api 3加载的例子以及arcgis api 4官网自定义瓦片图层例子:html

实现效果图以下:
java

  • 部分核心代码,完整源码以及瓦片数据下载在文章尾部
var arcgisServerTileLayer = BaseTileLayer.createSubclass({
getTileUrl: function (level, row, col) {
//console.log(level, row, col)
return "http://localhost/arcgis+api+demo/guangzhou/Layers/_alllayers/" +
//return "guangzhou/Layers/_alllayers/" +
"L" + zeroPad(level, 2, 10)+ "/" +
"R" + zeroPad(row, 8, 16) + "/" +
"C" + zeroPad(col, 8, 16) + "." +
"png";
 
},
});
var myTileLayer = new arcgisServerTileLayer();
var map = new Map({
layers: [myTileLayer]
});
 
function zeroPad(num, len, radix){
var str = num.toString(radix || 10);
while (str.length < len) {
str = "0" + str;
}
return str;
}

更多的详情见小专栏文章GIS之家小专栏api

文章尾部提供源代码下载,对本专栏感兴趣的话,能够关注一波学习