使用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个点时裁剪失败,这种情况要怎么处理。