leaflet本地加载arcgis切片

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;
};  

原文地址:https://www.cnblogs.com/lishanyang/p/9170352.html

时间: 2024-11-02 09:44:09

leaflet本地加载arcgis切片的相关文章

visual studio 2010 自带reporting报表本地加载的使用

在这家公司时间不长,接触都是之前没玩过的东东,先是工作流引擎和各种邮件短信的审核信息,后又是部署reporting服务器. reporting服务部署就不在这多说,在vs2010里面是自带了reporting报表的直接添加就可以使用.如图 这是一个空白的模板.这时模板已有了就差数据了在新加一个数据集DataSet 数据集有了模板有了就回到reporting模板页在这上面设计格式了,在空白处 右键-插入-表(也可以是其他图表之类)选择数据源 此时的报表模板就和绑定web控件一样设定对于字段 到这模

Android 如何本地加载pdf文件

大部分app打开pdf文件是通过intent调起手机中能打开pdf文件的工具,来查看pdf文件,如果需求是,用户在app内下载好pdf文件后,不通过第三方的工具,本地打开. 这样的需求要怎么实现呢?上网查了一些资料,发现了一个很好用PDF开源库. 使用起来也很简单,首先添加PDFView的引用 compile 'com.github.barteksc:android-pdf-viewer:2.4.0' 布局中引用PdfView <LinearLayout xmlns:android="ht

Unity3d-WWW实现图片资源显示以及保存和本地加载

本文固定连接:http://blog.csdn.net/u013108312/article/details/52712844 WWW实现图片资源显示以及保存和本地加载 using UnityEngine; using System.Collections; using System.IO; using UnityEditor; enum GetPicType { DownLoad = 0, LocalLoad, } public class Picture : MonoBehaviour {

通过本地加载ga.js文件提高Google Anlytics性能

Google Anlytics 分析代码是异步加载的,一般来讲不会影响网页性能,但是技术部的网页性能报告里老是提到ga.js的状态为Aborted,说明ga虽然是异步跟踪,但某些情况下对网页性能与加载时间确实存在影响 Google分析代码到底会不会影响网页性能?本地托管ga.js是否可行?本文提供本地服务器托管ga.js的基本思路与实现方法. Google Anlytics 分析代码是异步加载的,一般来讲不会影响网页性能,但是技术部的网页性能报告里老是提到ga.js的状态为Aborted.出现请

不同网段无法加载ArcGIS Server发布服务解决方法

问题描述: ArcGIS Server 10发布的服务, (1)在相同网段的Desktop9.3和Engine 9.3程序下可以正常显示, (2)在不同网段Desktop9.3和Engine 9.3程序下都无法加载显示, (3)在相同或不同网段Desktop10.1和Engine 10.1程序下均可正常显示, 问题原因: ArcGIS Server 发布服务虚拟目录下用的是机器名,而不是IP地址,不同网段下无法识别服务器机器名. 解决方法: 修改ArcGIS Server 发布服务虚拟目录路径为

Engine加载ArcGIS Online和ArcGIS Server发布的地图服务

两种方式:1. 可以通过遍历的方式,根据地图服务的名称进行判断,然后加载. IAGSServerObjectName pSOName = null; IAGSServerObjectName psoname = null; IAGSServerConnection con = new AGSServerConnection(); IAGSServerConnectionFactory2 confactory = new AGSServerConnectionFactory() as IAGSSe

Tensorflow学习第1课——从本地加载MNIST以及FashionMNIST数据

很多Tensorflow第一课的教程都是使用MNIST或者FashionMNIST数据集作为示例数据集,但是其给的例程基本都是从网络上用load_data函数直接加载,该函数封装程度比较高,如果网络出现问题,数据集很难实时从网上下载(笔者就多次遇到这种问题,忍无可忍),而且数据是如何解码的也一无所知,不利于后续的学习和理解,因此本文主要介绍对下载到本地的MNIST或FashionMNIST数据集如何加载解析的问题. 下载到本地的数据集一般有两种格式:numpy的压缩格式.npz,以及gzip压缩

springboot2.1.3 本地加载jar包+打包载入本地jar

项目已springboot为主,有时候我们需要引入的jar包并非maven公共库中存在(这里不谈私自搭建私库),那我们能否像普通的工程一样,导入自己手动添加的jar包文件呢? 答案是肯定的,来,一起往下看,首先在resource/ 下自建 lib 目录 然后,我们在pom.xml里添加如下配置 <!-- 引入本地jar --> <dependency> <groupId>xxxxxx</groupId> <artifactId>xxxxx<

Android 本地加载网页与显示网络图片

有时候需要在应用程序里展示一些网页,但是需求里又明确指出,不允许打开系统浏览器,显然也不可能去编写一个浏览器出来,这时就需要使用 WebView控件,借助它我们就可以在自己的应用程序里嵌入一个浏览器,从而非常轻松地展示各种各样的网页. 由于程序用到了网络功能,而访问网络是需要声明权限的,因此首先得修改 AndroidManifest.xml 文件,并加入声明权限: <uses-permission android:name="android.permission.INTERNET"