Javascript 传单.js-我可以在单个多边形内添加多个孔/切口吗

Javascript 传单.js-我可以在单个多边形内添加多个孔/切口吗,javascript,geolocation,leaflet,polygon,shapes,Javascript,Geolocation,Leaflet,Polygon,Shapes,查看L.Polygon构造函数的文档,您可以在初始数组之后传入多个坐标数组来构造一个多边形,其中包含多个孔 我尝试了几个带有多个数组的小样本数据,在添加第一个数组后,这些洞被着色了。但如果加上一个,效果很好 来自MSSQL,使用geometry::STIsValid函数将这些形状报告为有效 我的数据是不正确的,还是当时不支持? 文件表明它是受支持的。我在stackoverflow或普通互联网上找到的每个例子都只显示了单个漏洞 这也适用于L.Polygon函数(不是GeoJSON)。看起来可以处理

查看L.Polygon构造函数的文档,您可以在初始数组之后传入多个坐标数组来构造一个多边形,其中包含多个孔

我尝试了几个带有多个数组的小样本数据,在添加第一个数组后,这些洞被着色了。但如果加上一个,效果很好

来自MSSQL,使用geometry::STIsValid函数将这些形状报告为有效

我的数据是不正确的,还是当时不支持? 文件表明它是受支持的。我在stackoverflow或普通互联网上找到的每个例子都只显示了单个漏洞


这也适用于L.Polygon函数(不是GeoJSON)。

看起来可以处理多个孔:

var-coords=[
[//外环
[48.84, 2.3],
[48.9, 2.3],
[48.9, 2.4],
[48.84, 2.4],
[48.84, 2.3]
],//然后是孔(内环)
[//第一洞
[48.85, 2.31],
[48.89, 2.31],
[48.89, 2.33],
[48.85, 2.33],
[48.85, 2.31]
],
[//第二洞
[48.85, 2.34],
[48.89, 2.34],
[48.89, 2.35],
[48.85, 2.35],
[48.85, 2.34]
],
[//第三洞
[48.85, 2.36],
[48.89, 2.36],
[48.89, 2.39],
[48.85, 2.39],
[48.85, 2.36]
]
];
多边形(坐标)。添加到(地图);
JSFiddle:


看起来可以使用多个孔:

var-coords=[
[//外环
[48.84, 2.3],
[48.9, 2.3],
[48.9, 2.4],
[48.84, 2.4],
[48.84, 2.3]
],//然后是孔(内环)
[//第一洞
[48.85, 2.31],
[48.89, 2.31],
[48.89, 2.33],
[48.85, 2.33],
[48.85, 2.31]
],
[//第二洞
[48.85, 2.34],
[48.89, 2.34],
[48.89, 2.35],
[48.85, 2.35],
[48.85, 2.34]
],
[//第三洞
[48.85, 2.36],
[48.89, 2.36],
[48.89, 2.39],
[48.85, 2.39],
[48.85, 2.36]
]
];
多边形(坐标)。添加到(地图);
JSFiddle:


你能举一个你传递给L.Polygon的数组的例子吗?iH8,我已经在下面回答并确认了这个问题。问题似乎是我从MSSQL返回的联合形状。你能给出一个你传递给L.Polygon的数组的例子吗?iH8,这已经在下面为我得到了回答和确认。对于我来说,问题似乎是来自MSSQL的联合形状。