如何在带孔的传单多边形中分别更改内部和外部边界
How can I change the interior and exterior borders separately in leaflet Polygon with a hole
有什么办法可以改变polygon/multipolygon带孔的内外线样式吗?
我正在使用 leaflet 和 l.geoJson.
我找到了这个示例,但如果您更改样式颜色,则内部和外部边框的线条样式保持不变。
"style": {
color: "black",
opacity: 1,
fillColor: "white",
fillOpacity: 1
}
据我所知,没有黑客是无法实现的。如果使用 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>
如果您确实需要为内边缘设置不同的颜色,我认为您应该从形状中提取内环并添加具有正确线条颜色的多边形而不进行填充。如果您想让边框透明,则此方法将不起作用,因为原始边框会显示出来。
Is there any way to change the inner and outer line styles of a polygon/multipolygon with a hole?
没有
然而,您可以做的是预先提取外环和内环。然后,仅对多边形使用填充样式,对外环使用线型,对内环使用不同的线型。
有什么办法可以改变polygon/multipolygon带孔的内外线样式吗?
我正在使用 leaflet 和 l.geoJson.
我找到了这个示例,但如果您更改样式颜色,则内部和外部边框的线条样式保持不变。
"style": {
color: "black",
opacity: 1,
fillColor: "white",
fillOpacity: 1
}
据我所知,没有黑客是无法实现的。如果使用 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>
如果您确实需要为内边缘设置不同的颜色,我认为您应该从形状中提取内环并添加具有正确线条颜色的多边形而不进行填充。如果您想让边框透明,则此方法将不起作用,因为原始边框会显示出来。
Is there any way to change the inner and outer line styles of a polygon/multipolygon with a hole?
没有
然而,您可以做的是预先提取外环和内环。然后,仅对多边形使用填充样式,对外环使用线型,对内环使用不同的线型。