Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wicket with non-legacy versions of Leaflet (version 1.0 onwards) renders holes for overlapping polygons #151

Open
ireneyiu opened this issue Jan 21, 2021 · 1 comment

Comments

@ireneyiu
Copy link

Summary

Using Wicket with Leaflet versions 1.0 and onwards does not properly render islands or rings in a WKT multi-polygon (example WKT here). When there is overlap, the area is rendered as a hole.

This is not reproducible in the Wicket leaflet sandbox since it uses the legacy version of Leaflet (0.7.7). When I use the legacy version of Leaflet locally, the issue goes away for me.

This issue is similar to the one reported in Leaflet, but I have not been able to fix by specifying the fillRule as nonzero. Is this perhaps an issue with how Wicket is parsing the data for Leaflet?

Code

import React, { useEffect, useRef } from 'react';
import L from 'leaflet';
import Wkt from 'wicket/wicket-leaflet';

const wkt = new Wkt.Wkt();
const map = L.map('map');
const tileLayer = L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png');
tileLayer.addTo(map);

wkt.read(wktString); // multipolygon string
const obj = wkt.toObject();
obj.addTo(map);
map.fitBounds(obj.getBounds());

Expected behavior

Screen Shot 2021-01-21 at 11 45 36 AM

Actual

Screen Shot 2021-01-21 at 11 42 41 AM

Technologies

wicket: 1.3.6
leaflet: 1.5.1

@arthur-e
Copy link
Owner

Thanks @ireneyiu! Wicket probably doesn't recognize the fillRule attribute because it is lagging behind more recent developments in Leaflet. Hopefully someone has a Pull Request in mind for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants