首页 / 浏览问题 / Web / 问题详情
服务加载只显示指定区域内,其他隐藏
zhaoxu  (17分)  才疏学浅
5月12

服务加载只显示指定区域内,其他隐藏

2 个回答

你好,你可以在初始化加载地图的时候设置clipRegionEnabled:true(开启裁剪功能),设置裁剪区域clipRegion,就可以实现只加载裁剪区域内的地图数据。

参考代码如下:


<!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: [39,116],
        maxZoom: 18,
        zoom: 8
    });
    var region = L.polygon([[39,116],[39,117],[40,117],[40,116]]).addTo(map);
    new L.supermap.TiledMapLayer(url,{clipRegionEnabled:true,clipRegion:region}).addTo(map);

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

Carlo  (2,897分)  名扬四海
5月12
1

我是通过这种方式加载的地图,可以使用这个裁剪吗? 我在api文档里没有查到这个属性

您好,11i版本

支持自定义多边形范围裁剪影像图层

可以前往官网http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx

下载SuperMap iClient3D 11i(2022) for WebGL Beta2包,

使用

viewer.scene.globe.addImageryClipRegions({
    position: positions,
    layers: [imageryLayer],
    name: "test"
})

控制裁剪发范围显示隐藏

卷饼先生  (6,037分)  登峰造极
5月12
1
非常感谢,请问还有其他的方法吗? 如果下载新的包,以前写的代码会报一些乱七八糟的报错,一些功能都无法使用
其他的方法没有了,这个是11i版本的新特性,10i版本是没有这个功能的,有报错的话麻烦截图看下具体是哪些报错
...