首页 / 浏览问题 / WebGIS / 问题详情
地图裁剪显示
17EXP 2026年02月24日

使用iclient for leaflet 框架实现地图切片裁剪显示,代码如下

new L.supermap.TiledMapLayer(options.url, {
                noWrap: true,
                transparent: true,
                clipRegionEnabled: true,
                clipRegion: L.polygon([[27.413809681614566,
                    103.65600076085575
                ],
                [
                    27.411233080150417,
                    103.65574319151001
                ],
                [
                    27.39783475253685,
                    103.64312229356852
                ],
                [
                    27.41999352512853,
                    103.66656110403127
                ]
                ])
            }).addTo(map);

当L.polygon对象数组数量小于20个时地图切片可以裁剪,数量超过20个时切片地图裁剪失败,在地图上无法显示裁剪范围

主要是想实现如下功能:

发布的图层地图切片,在加载到地图上时,不想整个图层所有图斑都加载,只想显示单个图斑的地图切片到地图上。我的实现思路是先拿到要显示图斑的空间数据geoJson,然后手动提取coordinates 属性坐标并创建 L.Polygon,将创建好的 L.Polygon对象赋值给clipRegion属性,当是每个面图斑coordinates 包含了无数个点,点的数量已经超过20,clipRegion属性点数量超过20个点时裁剪失败,这种情况要怎么处理。

1个回答

您好,

通过clipRegion传输的裁剪参数会在请求url中拼接,而url实际情况中会有长度限制,当您的点位数量过多可能会在浏览器端或服务端导致失败。

关于您的需求,只想显示单个图斑的地图切片到地图上,可以使用掩膜方案实现,详情参考博客:https://blog.csdn.net/supermapsupport/article/details/128096825

希望能够帮助到您。

675EXP 2026年02月24日
...