لست متأكدًا مما إذا كان هذا مرتبطًا بالرقم 3498 ولكن هنا نبدأ:
إذا كان لديك مضلعين متداخلين جزئيًا في GeoJSON MultiPolygon في Leaflet 0.7.3 ، فسيتم ملء المنطقة المتداخلة. ولكن في الوضع الرئيسي ، لا يتم ملء المنطقة المتداخلة بينما يتم ملء المنطقة غير المتداخلة.
هنا مثال 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": {}
}
أطيب التحيات،
جاسبر
جرب تعيين fillRule: 'nonzero'
في خيارات تصميم المضلع. راجع أيضًا https://github.com/Leaflet/Leaflet/pull/2834 و https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule و https://mourner.github.io/ Leaflet / reference.html # path -fillrule
الرجاء الرد هنا بعد محاولة ذلك.
شكرا للمساعدة إيفان. إضافة FillRule: "غير صفري" أصلح المشكلة.
ربما يجب أن أذكر أيضًا أنه من غير الممكن أيضًا النقر فوق المناطق المتداخلة عندما لا تكون FillRule "غير صفرية" (على افتراض أن مستمع الحدث متصل بالطبقة).
لم أغلق المشكلة لأنك قد ترغب في النظر فيما إذا كانت fillRule: "nonzero" هي الخيار الافتراضي الأفضل من "evenodd" لميزات من النوع "متعدد الأضلاع".
مع أطيب التحيات،
جاسبر
سنترك 'evenodd'
كخيار افتراضي في الوقت الحالي.
التعليق الأكثر فائدة
جرب تعيين
fillRule: 'nonzero'
في خيارات تصميم المضلع. راجع أيضًا https://github.com/Leaflet/Leaflet/pull/2834 و https://developer.mozilla.org/docs/Web/SVG/Attribute/fill-rule و https://mourner.github.io/ Leaflet / reference.html # path -fillruleالرجاء الرد هنا بعد محاولة ذلك.