查看L.Polygon构造函数的文档,看起来你可以在初始数组之后传入多个坐标数组来构造一个多边形,其中有多个孔。
我尝试了一些带有多个阵列的小数据样本,并在添加第一个数据后对这些孔进行着色。但是当添加一个时,它工作正常。
来自MSSQL,使用geometry :: STIsValid函数将形状报告为有效。
我的数据不正确,还是当时不支持? 该文档表明它是受支持的。我在stackoverflow或一般互联网上找到的每个例子都只显示单个漏洞。
这也是L.Polygon函数(不是GeoJSON)。
答案 0 :(得分:3)
看起来使用多个洞:
var coords = [
[ // Exterior Ring
[48.84, 2.3],
[48.9, 2.3],
[48.9, 2.4],
[48.84, 2.4],
[48.84, 2.3]
], // Then holes (interior rings)
[ // First hole
[48.85, 2.31],
[48.89, 2.31],
[48.89, 2.33],
[48.85, 2.33],
[48.85, 2.31]
],
[ // Second hole
[48.85, 2.34],
[48.89, 2.34],
[48.89, 2.35],
[48.85, 2.35],
[48.85, 2.34]
],
[ // Third hole
[48.85, 2.36],
[48.89, 2.36],
[48.89, 2.39],
[48.85, 2.39],
[48.85, 2.36]
]
];
L.polygon(coords).addTo(map);
JSFiddle:http://jsfiddle.net/ve2huzxw/204/