No estoy seguro de si esto está relacionado con # 3498, pero aquí vamos:
Si tiene dos polígonos parcialmente superpuestos en un GeoJSON MultiPolygon en Leaflet 0.7.3, el área superpuesta se rellena. Pero en el maestro, el área superpuesta no se llena mientras que el área no superpuesta sí lo está.
Aquí hay un ejemplo de GeoJSON:
{
"geometry": {
"type": "MultiPolygon",
"coordinates": [
[
[
[
11.96485,
55.8434
],
[
11.868584,
55.8284
],
[
11.837216,
55.8925
],
[
11.863167,
55.915432
],
[
11.936167,
55.896618
],
[
11.964784,
55.858032
]
]
],
[
[
[
11.868584,
55.8284
],
[
11.761567,
55.81378
],
[
11.726833,
55.896
],
[
11.782117,
55.928215
],
[
11.8749,
55.92655
],
[
11.863167,
55.915432
],
[
11.936167,
55.896618
],
[
11.964784,
55.858032
],
[
11.96485,
55.8434
]
]
]
]
},
"type": "Feature",
"properties": {}
}
Atentamente,
Jesper
Intente configurar fillRule: 'nonzero'
en sus opciones de estilo de polígono. Consulte también https://github.com/Leaflet/Leaflet/pull/2834 , https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule y https://mourner.github.io/ Leaflet / reference.html # path -fillrule
Responda aquí después de intentarlo.
Gracias por la ayuda Iván. Agregar fillRule: 'distinto de cero' solucionó el problema.
Probablemente también debería mencionar que tampoco es posible hacer clic en las áreas superpuestas cuando fillRule no es 'distinto de cero' (asumiendo que un detector de eventos está adjunto a la capa).
No he cerrado el problema ya que es posible que desee considerar si fillRule: 'nonzero' es un valor predeterminado mejor que 'evenodd' para características de tipo "multipolygon".
Atentamente,
Jesper
Dejaremos 'evenodd'
como predeterminado por ahora.
Comentario más útil
Intente configurar
fillRule: 'nonzero'
en sus opciones de estilo de polígono. Consulte también https://github.com/Leaflet/Leaflet/pull/2834 , https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule y https://mourner.github.io/ Leaflet / reference.html # path -fillruleResponda aquí después de intentarlo.