访问WMTS的地图

    xiaoxiao2021-03-25  244

    WMTS对象的构造函数:

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

    代码:

    <!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:"", 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接口

    转载请注明原文地址: https://ju.6miu.com/read-3162.html

    最新回复(0)