2016-05-31 65 views
1

有任何方法可以更改帶孔的多邊形/多邊形的內部和外部線條樣式嗎?如何在小冊子中分別更改內部和外部邊框帶孔的多邊形

我正在使用傳單l.geoJson

我發現這個例子,但是如果你改變了風格的顏色,那麼內部和外部邊界的線條樣式都保持相同。

"style": { 
    color: "black", 
    opacity: 1, 
    fillColor: "white", 
    fillOpacity: 1 
} 

Example

+0

您應該直接在此處插入相關代碼。 – Eiko

回答

2

有沒有辦法改變帶孔的多邊形/多邊形的內外線樣式?

你能做什麼號,但是,是提取外環和事先的內圈。然後,只使用多邊形的填充樣式,外圈的線條樣式和內圈的不同線條樣式。

+0

我不知道如何提取多面體的外環。你有什麼建議嗎? – Trautman

+0

這非常簡單 - 在每個GeoJSON多邊形的座標中,第一個組件是外環,其他任何組件都是內環。對於多面體,只需在每個多邊形內迭代並遵循相同的邏輯即可。 http://mapsam.com/geojson-ring-visual/網頁很好地說明了這個概念。 – IvanSanchez

2

據我所知,目前還沒有辦法做到這一點沒有黑客。如果形狀使用SVG渲染,使用單個<g>(從this geojson.io link爲例):

<path stroke-linejoin="round" stroke-linecap="round" fill-rule="evenodd" stroke="#555555" stroke-opacity="1" stroke-width="2" fill="#555555" fill-opacity="0.5" class="leaflet-clickable" d="M340 -145L388 455L640 451L812 291zM437 230L628 258L602 331L537 370z"></path> 

如果你真的需要有不同顏色的內邊緣,我想你應該提取形狀的內圈並添加沒有填充的正確線條顏色的多邊形。如果你想讓你的邊框變得透明,這種方法將不起作用,因爲原始的邊框會顯示出來。