首页 / 浏览问题 / 云GIS / 问题详情
WMS示例的noWrap参数表示什么意思?
588EXP 2020年04月30日

两个问题:

1.官网加载WMS示例的“noWrap”参数表示什么意思?文档里没查到这个参数,示例地址为https://iclient.supermap.io/dev/examples/leaflet/editor.html#WMSLayer

2.以下代码为直接加载geoserver的WMS服务,可运行,但我把代码里的WMS服务转发成超图地图服务总是不成功,没有地图列表,请问是什么原因?

服务地址为:http://4maps.geo-solutions.it/geoserver/syria_vtp/wms


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title data-i18n="resources.title_tiledMapLayer4326"></title>
<script type="text/javascript" src="../js/include-web.js"></script>
</head>
<body style=" margin: 0;overflow: hidden;background: #fff;width: 100%;height:100%;position: absolute;top: 0;">
<div id="map" style="margin:0 auto;width: 100%;height: 100%"></div>
<script type="text/javascript" src="../../dist/leaflet/include-leaflet.js"></script>
<script type="text/javascript">
    var host = window.isLocal ? window.server : "https://iserver.supermap.io";
    var map, url = host + "/iserver/services/map-world/rest/maps/World";
    map = L.map('map', {
        crs: L.CRS.EPSG4326,
        center: [35.16, 39.44],
        maxZoom: 18,
        zoom: 8
    });
    L.supermap.tiledMapLayer(url).addTo(map);
    let extent = L.tileLayer.wms("http://4maps.geo-solutions.it/geoserver/syria_vtp/wms", {
            layers: 'syria_vtp',
            format: 'image/png',
            transparent: true
    }).addTo(map);

</script>
</body>
</html>

1个回答

您好,noWrap:如果设置此项为true,则切片不会用重复填充来表示世界范围(经度-180到180之间)之外的地方。您确定坐标系以及中心点是否有误,然后查看layer的名称是否书写有误,我这边用world示例发布wms是可以正常对接    ,w参数是

var host = window.isLocal ? window.server : "https://iserver.supermap.io";
    var map = L.map('map', {
        center: [0, 0],
        maxZoom: 18,
        zoom: 1
    });
    L.tileLayer.wms('http://localhost:8090/iserver/services/map-World-2/wms111/%E4%B8%96%E7%95%8C%E5%9C%B0%E5%9B%BE_Day', {
        layers: '世界地图_Day',
        format: 'image/png',
        transparent: true,
        noWrap: true,
        attribution: "Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a></span>"
    }).addTo(map);
3,357EXP 2020年04月30日

第二个问题与第一个问题没有直接关系,问题2是在这个应用场景提出来的:某单位之前一直用geoserver,后来采购了iserver,于是想统一接口把以往的服务都转发成超图服务接口,但是geoserver的WMS用超图转发发布不成功,希望帮忙解决该问题。

至于问题中提到的geoserver服务地址是贴出来给你们帮忙转发服务测试用的,是geoserver的示例数据,4326坐标,叠加展示也是正确的。

为了便于你们测试geoserver的WMS转超图iserver服务,我贴上geoserver的地址

geoserver服务列表:http://4maps.geo-solutions.it/geoserver/web/wicket/bookmarkable/org.geoserver.web.demo.MapPreviewPage?0&filter=false

其中一个WMS服务地址:http://4maps.geo-solutions.it/geoserver/syria_vtp/wms

该WMS服务geoserver预览效果:http://4maps.geo-solutions.it/geoserver/syria_vtp/wms?service=WMS&version=1.1.0&request=GetMap&layers=syria_vtp%3Ariver_c&bbox=35.7512817%2C32.5347828000001%2C42.3769314%2C37.3214589&width=768&height=554&srs=EPSG%3A4326&format=application/openlayers

...