访问WMTS的地图

来源:互联网 发布:笙声入心网络剧百度云 编辑:程序博客网 时间:2024/05/16 04:12

WMTS对象的构造函数:

new SuperMap.Layer.WMTS({name, url,layer,style,matrixSet,resolutions,matrixIds});

WMTS地图资源(湖南)
代码:

<!DOCTYPE html><html><head><meta charset="UTF-8"><title>天地图WMTS服务图层</title><script src="./libs/SuperMap.Include.js"></script><script type="text/javascript">    var map,layer;    var matrixIds=[];    for(var i=0;i<9;++i){        matrixIds[i]={identifier:i};    }    var resolutions = [        0.703125,        0.3515625,        0.17578125,        0.087890625,        0.0439453125,        0.02197265625,        0.010986328125,        0.0054931640625,        0.00274658203125];    function init(){        map = new SuperMap.Map("map");        layer = new SuperMap.Layer.WMTS({            name:"世界地图_Day",            url:"http://222.247.40.204:8090/iserver/services/map-world/wmts-china",            layer:"世界地图_Day",            style:"default",            matrixSet:"ChinaPublicServices_世界地图_Day",            fromat:"image/png",            resolutions:resolutions,            matrixIds:matrixIds,            opacity:1,            requestEncoding:"KVP"});        map.addLayer(layer);        map.setCenter(new SuperMap.LonLat(0, 0), 2);    }</script></head><body onload="init()">    <div id="map" style="left:0px;right:0px;width:800px;height:500px">    </div></body></html>

重点理解:
1、当前图层的分辨率数组信息,和matrixIds一样,需要用户从wmts服务获取并明确设置,resolutions数组和matrixIds数组长度相同
2、你不必填写所有的分辨率,可以自定义缩放级别,但是得保证resolutions数组的值与matrixIds数组中的identifier是一一对应的;同时当你的地图的全幅范围不是默认的全球范围时,需要设置map.maxExtent为相应的值。

参考:
如何使用iClient for JavaScript叠加地图
SuperMap iClient for JavaScript 新手入门
用skyline调用WMTS接口

0 0