Openlayers快速加载wmts及wms服务

一、引入所需的js文件

<script src="lib/pro4j-2.5.0/proj4.js"></script>
<script src="lib/ol-v5.3.0/ol.js"></script>

二、自定义投影

// 在http://epsg.io/网站,查找坐标系定义(例:epsg:2362) 选择proj4js
proj4.defs("EPSG:2362","+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs");
ol.proj.proj4.register(proj4);

三、初始化地图

var map = new ol.Map({
    controls: ol.control.defaults(),
    interactions: ol.interaction.defaults().extend([
      new ol.interaction.DragRotateAndZoom()
    ]),
    view: new ol.View({
        center: [34766364.918830,79579.729428],
        projection: ol.proj.get("EPSG:2362"),
        zoom: 4,
    }),
    target: 'map-view'
});

四、添加wmst服务或wms服务

// 发布服务的时候 选择默认切片方式 切片时不是从0层开始切片 会存在层级偏移
// ol添加wmts 需要定义分辨率及层级的对应关系  设置tileGrid
// 1、wmts
var layer1 = new ol.layer.Tile({
    source: new ol.source.WMTS({
        tileGrid: new ol.tilegrid.WMTS({
            resolutions: [
                16.933367200067735,
                8.466683600033868,
                4.233341800016934,
                2.116670900008467,
                1.0583354500042335
            ],
            origin: [3.28768e7, 1.00021e7],
            matrixIds: ["0", "1", "2", "3", "4"],
        }),
        matrixSet: "default028mm",
        layer: "MyMapService",
        style: "default",
        requestEncoding: "REST",
        url: "http://localhost:6080/arcgis/rest/services/test/MapServer/WMTS/tile/1.0.0/test/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"
    })
});
map.addLayer(layer1);
// 2、wms
var layer2 = new ol.layer.Image({
    source: new ol.source.ImageWMS({
        crossOrigin: 'anonymous',
        url: 'http://192.168.0.250:6080/arcgis/services/test/MapServer/WMSServer',
        params: {
          'FORMAT': 'image/png',
          'VERSION': '1.1.1',
          "LAYERS": '0,1,2,3,4,5,6,7,8,9,10'
        }
      })
  })
map.addLayer(layer2)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,172评论 1 32
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,032评论 0 15
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,430评论 0 3
  • 一、简历准备 1、个人技能 (1)自定义控件、UI设计、常用动画特效 自定义控件 ①为什么要自定义控件? Andr...
    lucas777阅读 5,287评论 2 54
  • 想找一个姑娘,久处不厌。 愿有一个朋友,真诚不变。 路过一个世界,不再相见。 勾搭一只学妹,互相“欺骗”。 偶遇一...
    施歌68阅读 173评论 10 4