2016-03-15 14 views
0

查看L.Polygon構造函數的文檔,看起來您可以在初始數組後面傳遞多個座標數組來構造一個Polygon,有多個孔。Leaflet.js - 我可以在單個多邊形內添加多個孔/切口

我嘗試了多個數組的小數據樣本,並且在第一個數組添加之後,這些孔被隱藏起來。但是當添加一個時,它運行良好。

來自MSSQL,使用geometry :: STIsValid函數報告形狀是有效的。

我的數據是不正確的,還是當時不支持? 該文檔將建議它受支持。而我在stackoverflow或一般互聯網上找到的每個例子都只顯示單個洞。

這也與L.Polygon函數(而不是GeoJSON)。

+0

可不可以給你傳遞給L.Polygon陣列的例子嗎? – iH8

+0

iH8,這已經在下面爲我解答。這個問題似乎與從我的MSSQL回來的UNION'ed形狀。 –

回答

2

看起來有多個孔的工作:

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