var origin = [-20037700, 33711400];//图层起点坐标
var resolutions = [
8466.6836000338681, // Level 0
4233.341800016934, // Level 1
2116.670900008467, // Level 2
1058.3354500042335, // Level 3
529.16772500211675 // Level 4
];
var crs = new L.Proj.CRS(
'',
'+proj=cea +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs' , {
origin: origin,
resolutions: resolutions
}
);
var map = L.map('map',{
crs: crs,
continuousWorld: true,
worldCopyJump: false
}).setView([23.39552, 113.308189], 0);
var tileLayer = new L.TileLayer.TileLoad('http://localhost:8080/resources/china', {
maxZoom: resolutions.length - 1,
minZoom: 0,
continuousWorld: true
});
tileLayer.addTo(map);
/**
* 加载本地arcgis切片类
*
* @author ful
* @date 2014-09-03
* @copyright (c)
*/ /**
* 继承自TileLayer
* @param {Object} tomcat中映射该切片目录url
* @param {Object} options
*/
L.TileLayer.TileLoad = L.TileLayer.extend({
initialize: function (url, options) {
options = L.setOptions(this, options);
this.url = url + "/Layers/_alllayers/{z}/{x}/{y}.png";
L.TileLayer.prototype.initialize.call(this, this.url, options);
}
}); /**
* 重写TileLayer中获取切片url方法
* @param {Object} tilePoint
*/
L.TileLayer.prototype.getTileUrl = function(tilePoint) {
return L.Util.template(this._url, L.extend({
s: this._getSubdomain(tilePoint),
z: function() {
var value = tilePoint.z.toString(16);
return "L" + pad(value, 2);
},
x: function() {
var value = tilePoint.y.toString(16);
return "R" + pad(value, 8);
},
y: function() {
var value = tilePoint.x.toString(16);
return "C" + pad(value, 8);
}
}));
}; L.tileLayer.tileLoad = function(url, options){
return new L.TileLayer.TileLoad(url, options);
}; /**
* 高位补全方法
* @param {Object} 数字类型字符串
* @param {Object} 总位数,不足则高位补0
*/
var pad = function(numStr, n) {
var len = numStr.length;
while(len < n) {
numStr = "0" + numStr;
len++;
}
return numStr;
};

最后赋一段extend代码

       // 扩展加载ArcServer本地缓存的服务
L.TileLayer.ArcServerTileLoad = L.TileLayer.extend({
getTileUrl: function(tilePoint) {
var oo = "00000000";
var xx = tilePoint.x.toString(16);
xx = "C" + oo.substring(0, 8 - xx.length) + xx;
//var yy = (tilePoint.y - Math.pow(2, tilePoint.z - 2)).toString(16); //这里减去偏移值
var yy = tilePoint.y.toString(16);
yy = "R" + oo.substring(0, 8 - yy.length) + yy; //z如果小于10的时候处理下
if(tilePoint.z.toString().length == 1) {
tilePoint.z = '0' + tilePoint.z.toString();
}
return L.Util.template(this._url, L.extend({
s: this._getSubdomain(tilePoint),
z: "L" + tilePoint.z,
x: xx,
y: yy
}, this.options));
}
}); L.tileLayer.arcServerTileLoad = function(url, options){
return new L.TileLayer.ArcServerTileLoad(url, options);
};
//return this.baseLayer = L.tileLayer.arcServerTileLoad(url);

最新文章

  1. Entity Framework 6 Recipes 2nd Edition(10-3)译 -&gt; 返回结果是一个标量值
  2. Angular.js+Bootstrap实现表格分页
  3. python之递归
  4. HTML 5:绘制旋转的太极图
  5. HashMap Java Doc
  6. 原始的js代码和jquery对比
  7. vim+makefile入门编辑,编译,差错实例
  8. 电子凭证 : Java 生成 Pdf
  9. 多态原理探究-从C++编译器角度理解多态的实现原理
  10. tomcat端口冲突,关闭端口方法
  11. Installing ROS Indigo on the Raspberry Pi
  12. ubuntu 16 安装 openjdk 8
  13. Android开发环境的发展以及重装系统之后在myeclipse重配Android开发环境。
  14. mysql-8.0.11-winx64 免安装版配置方法
  15. CSS3 -- 动画库
  16. python 输出两个日期之间的天数
  17. CodeForces 909E Coprocessor
  18. Pandas中Series和DataFrame的索引
  19. spring boot配置springMVC拦截器
  20. JavaIo编程基础复习

热门文章

  1. JAVA 创建文件和文件夹,删除文件和文件夹的实用工具
  2. 解决 urxvt “unknown terminal type.”
  3. 104. HttpRequest对象详解
  4. 2018.11.2JavaScript随笔
  5. 吴裕雄--天生自然MySQL学习笔记:MySQL简介
  6. LeetCode Input Initial Code
  7. geodjango七日学习笔记 (7.30整理本地笔记上传到网络)
  8. ae基础一
  9. Linux-使用syslog记录调试信息
  10. [Shoi2013]超级跳马(DP+矩阵乘法)