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

时间:2016-03-15 15:31:10

标签: javascript geolocation leaflet polygon shapes

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

我尝试了一些带有多个阵列的小数据样本,并在添加第一个数据后对这些孔进行着色。但是当添加一个时,它工作正常。

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

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

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

1 个答案:

答案 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/

enter image description here