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

Mar*_*k P 0 javascript polygon geolocation shapes leaflet

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

我尝试了一些带有多个数组的小数据样本,并且在添加第一个之后这些孔被阴影化了。但是当添加一个时,它工作正常。

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

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

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

ghy*_*ybs 5

看起来适用于多个孔:

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);
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http : //jsfiddle.net/ve2huzxw/204/

在此处输入图片说明