Leaflet: لم يتم ملء مضلعات GeoJSON MultiPolygon المتداخلة

تم إنشاؤها على ٢١ أغسطس ٢٠١٥  ·  3تعليقات  ·  مصدر: Leaflet/Leaflet

لست متأكدًا مما إذا كان هذا مرتبطًا بالرقم 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": {}
}

أطيب التحيات،
جاسبر

bug

التعليق الأكثر فائدة

جرب تعيين 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

الرجاء الرد هنا بعد محاولة ذلك.

ال 3 كومينتر

جرب تعيين 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' كخيار افتراضي في الوقت الحالي.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

zdila picture zdila  ·  3تعليقات

edmsgists picture edmsgists  ·  3تعليقات

gdbd picture gdbd  ·  3تعليقات

CallMarl picture CallMarl  ·  3تعليقات

walterfn2 picture walterfn2  ·  4تعليقات