Leaflet.FreeDraw
Leaflet.FreeDraw copied to clipboard
Too much simplification when loading existing polygons
Hello,
I try to load existing polygons to edit. But the points are getting too much simplification so instead of approximates circles, I get approximate hexagons (sort of). Modifying options dit not change a thing.
Here is initialisation for now (tryed 0 for both smooth and simplify).
new FreeDraw({ mode: FreeDraw.NONE, elbowDistance:5, smoothFactor:0.5, simplifyFactor:0.2 });
Maybe the problem comes from my projection (crs)
L.CRS.Direct = L.extend({}, L.CRS, {
projection: L.Projection.LonLat,
transformation: new L.Transformation(1, 0, -1, 0),
scale: function (zoom) {
return Math.pow(1.5, zoom);
}
});
L.Map.canvasSize=[[-800,-800], [800,800]];
var optionsLeafLet = {
maxBounds : L.Map.canvasSize,
crs: L.CRS.Direct
}
And the polygon (a sort of ellipse)
[[[{"lat":262.63878827791,"lng":85.825485676655},{"lat":262.34985182746,"lng":85.821534408956},{"lat":262.06140928548,"lng":85.807704972012},{"lat":261.77444846888,"lng":85.785972999671},{"lat":261.48798156075,"lng":85.756338491933},{"lat":261.20250246954,"lng":85.717813631874},{"lat":260.91801119526,"lng":85.670398419493},{"lat":260.63500164636,"lng":85.615080671716},{"lat":260.35248600593,"lng":85.550872571617},{"lat":260.07095818242,"lng":85.478761936121},{"lat":259.79091208429,"lng":85.397760948304},{"lat":259.51135989463,"lng":85.309845242015},{"lat":259.23378333882,"lng":85.21205136648},{"lat":258.95670069147,"lng":85.106354955548},{"lat":258.68060586105,"lng":84.993743826144},{"lat":258.40599275601,"lng":84.872242344419},{"lat":258.1323674679,"lng":84.742838327297},{"lat":257.85972999671,"lng":84.605531774778},{"lat":257.58857425091,"lng":84.461310503787},{"lat":257.31840632203,"lng":84.308198880474},{"lat":257.050214027,"lng":84.148172538689},{"lat":256.7830095489,"lng":83.980243661508},{"lat":256.51728679618,"lng":83.80441224893},{"lat":256.25255186039,"lng":83.620678300955},{"lat":255.98929864998,"lng":83.430029634508},{"lat":255.7270332565,"lng":83.231478432664},{"lat":255.46674349687,"lng":83.026012512348},{"lat":255.20793546263,"lng":82.812644056635},{"lat":254.95011524531,"lng":82.59236088245},{"lat":254.69377675338,"lng":82.365162989793},{"lat":254.43941389529,"lng":82.130062561739},{"lat":254.18603885413,"lng":81.888047415212},{"lat":253.93463944682,"lng":81.639117550214},{"lat":253.6847217649,"lng":81.383272966744},{"lat":253.43628580836,"lng":81.119525847876},{"lat":253.18933157721,"lng":80.849851827461},{"lat":252.94385907145,"lng":80.57227527165},{"lat":252.70036219954,"lng":80.28877181429},{"lat":252.45834705301,"lng":79.997365821534},{"lat":252.21830754034,"lng":79.700032927231},{"lat":251.97974975305,"lng":79.395785314455},{"lat":251.7431675996,"lng":79.085610800132},{"lat":251.50806717155,"lng":78.767533750412},{"lat":251.27494237735,"lng":78.443529799144},{"lat":251.04329930853,"lng":78.113598946329},{"lat":250.81363187356,"lng":77.776753375041},{"lat":250.58594007244,"lng":77.432993085282},{"lat":250.35972999671,"lng":77.083305893974},{"lat":250.13598946329,"lng":76.72769180112},{"lat":249.91373065525,"lng":76.365162989793},{"lat":249.69394138953,"lng":75.996707276918},{"lat":249.47563384919,"lng":75.622324662496},{"lat":249.25930194271,"lng":75.242015146526},{"lat":249.04494567007,"lng":74.854790912084},{"lat":248.83305893974,"lng":74.462627593019},{"lat":248.6226539348,"lng":74.064537372407},{"lat":248.41471847218,"lng":73.660520250247},{"lat":248.2087586434,"lng":73.250576226539},{"lat":248.00477444847,"lng":72.834705301284},{"lat":247.80276588739,"lng":72.412907474481},{"lat":247.60322686862,"lng":71.986170563056},{"lat":247.4056634837,"lng":71.553506750082},{"lat":247.21056964109,"lng":71.114916035561},{"lat":247.01745143233,"lng":70.671386236418},{"lat":246.82680276589,"lng":70.221929535726},{"lat":246.63812973329,"lng":69.767533750412},{"lat":246.451926243,"lng":69.30721106355},{"lat":246.26769838657,"lng":68.841949292065},{"lat":246.0864339809,"lng":68.371748435957},{"lat":245.90714520909,"lng":67.896608495226},{"lat":245.73032597959,"lng":67.415541652947},{"lat":245.55597629239,"lng":66.929535726045},{"lat":245.38360223905,"lng":66.438590714521},{"lat":245.21419163648,"lng":65.942706618373},{"lat":245.04675666776,"lng":65.441883437603},{"lat":244.88228514982,"lng":64.937108989134},{"lat":244.71978926572,"lng":64.426407639118},{"lat":244.5602568324,"lng":63.910767204478},{"lat":244.40319394139,"lng":63.39117550214},{"lat":244.24860059269,"lng":62.866644715179},{"lat":244.0964767863,"lng":62.337174843596},{"lat":243.94682252223,"lng":61.803753704313},{"lat":243.80013170892,"lng":61.265393480408},{"lat":243.65591043793,"lng":60.723081988805},{"lat":243.51465261771,"lng":60.175831412578},{"lat":243.37586433981,"lng":59.624629568653},{"lat":243.24003951268,"lng":59.06947645703},{"lat":243.10668422786,"lng":58.509384260784},{"lat":242.97629239381,"lng":57.945340796839},{"lat":242.84886401054,"lng":57.377346065196},{"lat":242.72390516958,"lng":56.805400065854},{"lat":242.60190977939,"lng":56.22851498189},{"lat":242.48238393151,"lng":55.648666447152},{"lat":242.36582153441,"lng":55.063878827791},{"lat":242.25271649654,"lng":54.476127757656},{"lat":242.14257490945,"lng":53.884425419822},{"lat":242.03490286467,"lng":53.28877181429},{"lat":241.93019427066,"lng":52.68916694106},{"lat":241.82844912743,"lng":52.086598617056},{"lat":241.72966743497,"lng":51.480079025354},{"lat":241.63434310175,"lng":50.869608165953},{"lat":241.5419822193,"lng":50.256173855779},{"lat":241.45258478762,"lng":49.638788277906},{"lat":241.36615080672,"lng":49.018439249259},{"lat":241.28268027659,"lng":48.394138952914},{"lat":241.20217319723,"lng":47.766875205795},{"lat":241.12561738558,"lng":47.136648007903},{"lat":241.0520250247,"lng":46.503457359236},{"lat":240.98139611459,"lng":45.866315442871},{"lat":240.91422456371,"lng":45.226210075733},{"lat":240.85051037208,"lng":44.58314125782},{"lat":240.78975963122,"lng":43.938096806059},{"lat":240.73197234113,"lng":43.289101086599},{"lat":240.67764241027,"lng":42.638129733289},{"lat":240.62676983866,"lng":41.983207112282},{"lat":240.57935462628,"lng":41.326308857425},{"lat":240.53539677313,"lng":40.66545933487},{"lat":240.49440237076,"lng":40.002634178466},{"lat":240.45735923609,"lng":39.336845571287},{"lat":240.42327955219,"lng":38.66908133026},{"lat":240.39315113599,"lng":37.999341455384},{"lat":240.36598617056,"lng":37.326638129733},{"lat":240.34277247284,"lng":36.650971353309},{"lat":240.32301613434,"lng":35.973328943036},{"lat":240.30671715509,"lng":35.293710898913},{"lat":240.29436944353,"lng":34.612117220942},{"lat":240.28498518275,"lng":33.927560092196},{"lat":240.27955218966,"lng":33.242015146526},{"lat":240.27757655581,"lng":32.552518933158},{"lat":240.27955218966,"lng":31.863022719789},{"lat":240.28498518275,"lng":31.177477774119},{"lat":240.29436944353,"lng":30.492920645374},{"lat":240.30671715509,"lng":29.811326967402},{"lat":240.32301613434,"lng":29.13170892328},{"lat":240.34277247284,"lng":28.454066513006},{"lat":240.36598617056,"lng":27.778399736582},{"lat":240.39315113599,"lng":27.105696410932},{"lat":240.42327955219,"lng":26.435956536055},{"lat":240.45735923609,"lng":25.768192295028},{"lat":240.49440237076,"lng":25.10240368785},{"lat":240.53539677313,"lng":24.439578531446},{"lat":240.57935462628,"lng":23.77872900889},{"lat":240.62676983866,"lng":23.121830754034},{"lat":240.67764241027,"lng":22.466908133026},{"lat":240.73197234113,"lng":21.815936779717},{"lat":240.78975963122,"lng":21.166941060257},{"lat":240.85051037208,"lng":20.521896608495},{"lat":240.91422456371,"lng":19.878827790583},{"lat":240.98139611459,"lng":19.238722423444},{"lat":241.0520250247,"lng":18.601580507079},{"lat":241.12561738558,"lng":17.968389858413},{"lat":241.20217319723,"lng":17.33816266052},{"lat":241.28268027659,"lng":16.710898913401},{"lat":241.36615080672,"lng":16.086598617056},{"lat":241.45258478762,"lng":15.46624958841},{"lat":241.5419822193,"lng":14.848864010537},{"lat":241.63434310175,"lng":14.235429700362},{"lat":241.72966743497,"lng":13.624958840961},{"lat":241.82844912743,"lng":13.018439249259},{"lat":241.93019427066,"lng":12.415870925255},{"lat":242.03490286467,"lng":11.816266052025},{"lat":242.14257490945,"lng":11.220612446493},{"lat":242.25271649654,"lng":10.62891010866},{"lat":242.36582153441,"lng":10.041159038525},{"lat":242.48238393151,"lng":9.4563714191637},{"lat":242.60190977939,"lng":8.8765228844254},{"lat":242.72390516958,"lng":8.299637800461},{"lat":242.84886401054,"lng":7.7276918011195},{"lat":242.97629239381,"lng":7.1596970694765},{"lat":243.10668422786,"lng":6.5956536055318},{"lat":243.24003951268,"lng":6.0355614092855},{"lat":243.37586433981,"lng":5.4794204807376},{"lat":243.51465261771,"lng":4.9282186368127},{"lat":243.65591043793,"lng":4.3809680605861},{"lat":243.80013170892,"lng":3.8386565689826},{"lat":243.94682252223,"lng":3.3002963450774},{"lat":244.0964767863,"lng":2.7668752057952},{"lat":244.24860059269,"lng":2.2374053342114},{"lat":244.40319394139,"lng":1.7128745472506},{"lat":244.5602568324,"lng":1.1932828449127},{"lat":244.71978926572,"lng":0.67764241027329},{"lat":244.88228514982,"lng":0.16694106025683},{"lat":245.04675666776,"lng":-0.33783338821203},{"lat":245.21419163648,"lng":-0.83865656898254},{"lat":245.38360223905,"lng":-1.3345406651301},{"lat":245.55597629239,"lng":-1.8254856766546},{"lat":245.73032597959,"lng":-2.3109976950938},{"lat":245.90714520909,"lng":-2.7920645373724},{"lat":246.0864339809,"lng":-3.2676983865657},{"lat":246.26769838657,"lng":-3.7378992426737},{"lat":246.451926243,"lng":-4.2031610141587},{"lat":246.63812973329,"lng":-4.6629897925584},{"lat":246.82680276589,"lng":-5.1173855778729},{"lat":247.01745143233,"lng":-5.5663483701021},{"lat":247.21056964109,"lng":-6.009878169246},{"lat":247.4056634837,"lng":-6.4484688837669},{"lat":247.60322686862,"lng":-6.8811326967402},{"lat":247.80276588739,"lng":-7.3083635166282},{"lat":248.00477444847,"lng":-7.7296674349687},{"lat":248.2087586434,"lng":-8.1455383602239},{"lat":248.41471847218,"lng":-8.5554823839315},{"lat":248.6226539348,"lng":-8.9594995060915},{"lat":248.83305893974,"lng":-9.3580836351663},{"lat":249.04494567007,"lng":-9.7507408626934},{"lat":249.25930194271,"lng":-10.136977280211},{"lat":249.47563384919,"lng":-10.51728679618},{"lat":249.69394138953,"lng":-10.891669410603},{"lat":249.91373065525,"lng":-11.260125123477},{"lat":250.13598946329,"lng":-11.622160026342},{"lat":250.35972999671,"lng":-11.978268027659},{"lat":250.58594007244,"lng":-12.327955218966},{"lat":250.81363187356,"lng":-12.670727691801},{"lat":251.04329930853,"lng":-13.008067171551},{"lat":251.27494237735,"lng":-13.338491932828},{"lat":251.50806717155,"lng":-13.662495884096},{"lat":251.7431675996,"lng":-13.980079025354},{"lat":251.97974975305,"lng":-14.29074744814},{"lat":252.21830754034,"lng":-14.594995060915},{"lat":252.45834705301,"lng":-14.892327955219},{"lat":252.70036219954,"lng":-15.183240039513},{"lat":252.94385907145,"lng":-15.467237405334},{"lat":253.18933157721,"lng":-15.744320052684},{"lat":253.43628580836,"lng":-16.014487981561},{"lat":253.6847217649,"lng":-16.277741191966},{"lat":253.93463944682,"lng":-16.534079683899},{"lat":254.18603885413,"lng":-16.783009548897},{"lat":254.43941389529,"lng":-17.025024695423},{"lat":254.69377675338,"lng":-17.260125123477},{"lat":254.95011524531,"lng":-17.487816924597},{"lat":255.20793546263,"lng":-17.708594007244},{"lat":255.46674349687,"lng":-17.921468554495},{"lat":255.7270332565,"lng":-18.127428383273},{"lat":255.98929864998,"lng":-18.325485676655},{"lat":256.25255186039,"lng":-18.516134343102},{"lat":256.51728679618,"lng":-18.699374382614},{"lat":256.7830095489,"lng":-18.875205795193},{"lat":257.050214027,"lng":-19.043134672374},{"lat":257.31840632203,"lng":-19.203654922621},{"lat":257.58857425091,"lng":-19.356272637471},{"lat":257.85972999671,"lng":-19.501481725387},{"lat":258.1323674679,"lng":-19.638294369444},{"lat":258.40599275601,"lng":-19.767204478103},{"lat":258.68060586105,"lng":-19.888705959829},{"lat":258.95670069147,"lng":-20.001810997695},{"lat":259.23378333882,"lng":-20.107013500165},{"lat":259.51135989463,"lng":-20.203819558775},{"lat":259.79091208429,"lng":-20.292723081989},{"lat":260.07095818242,"lng":-20.373230161343},{"lat":260.35248600593,"lng":-20.445340796839},{"lat":260.63500164636,"lng":-20.509548896938},{"lat":260.91801119526,"lng":-20.565360553177},{"lat":261.20250246954,"lng":-20.612775765558},{"lat":261.48798156075,"lng":-20.651300625617},{"lat":261.77444846888,"lng":-20.681429041818},{"lat":262.06140928548,"lng":-20.703161014159},{"lat":262.34985182746,"lng":-20.716002634178},{"lat":262.63878827791,"lng":-20.720447810339},{"lat":262.92772472835,"lng":-20.716002634178},{"lat":263.21616727033,"lng":-20.703161014159},{"lat":263.50312808693,"lng":-20.681429041818},{"lat":263.78959499506,"lng":-20.651300625617},{"lat":264.07507408627,"lng":-20.612775765558},{"lat":264.35956536055,"lng":-20.565360553177},{"lat":264.64257490945,"lng":-20.509548896938},{"lat":264.92509054988,"lng":-20.445340796839},{"lat":265.20661837339,"lng":-20.373230161343},{"lat":265.48666447152,"lng":-20.292723081989},{"lat":265.76621666118,"lng":-20.203819558775},{"lat":266.04379321699,"lng":-20.107013500165},{"lat":266.32087586434,"lng":-20.001810997695},{"lat":266.59697069476,"lng":-19.888705959829},{"lat":266.8715837998,"lng":-19.767204478103},{"lat":267.14520908792,"lng":-19.638294369444},{"lat":267.4178465591,"lng":-19.501481725387},{"lat":267.68900230491,"lng":-19.356272637471},{"lat":267.95917023378,"lng":-19.203654922621},{"lat":268.22736252881,"lng":-19.043134672374},{"lat":268.49456700691,"lng":-18.875205795193},{"lat":268.76028975963,"lng":-18.699374382614},{"lat":269.02502469542,"lng":-18.516134343102},{"lat":269.28827790583,"lng":-18.325485676655},{"lat":269.55054329931,"lng":-18.127428383273},{"lat":269.81083305894,"lng":-17.921468554495},{"lat":270.06964109318,"lng":-17.708594007244},{"lat":270.3274613105,"lng":-17.487816924597},{"lat":270.58379980244,"lng":-17.260125123477},{"lat":270.83816266052,"lng":-17.025024695423},{"lat":271.09153770168,"lng":-16.783009548897},{"lat":271.34293710899,"lng":-16.534079683899},{"lat":271.59285479091,"lng":-16.277741191966},{"lat":271.84129074745,"lng":-16.014487981561},{"lat":272.0882449786,"lng":-15.744320052684},{"lat":272.33371748436,"lng":-15.467237405334},{"lat":272.57721435627,"lng":-15.183240039513},{"lat":272.8192295028,"lng":-14.892327955219},{"lat":273.05926901548,"lng":-14.594995060915},{"lat":273.29782680277,"lng":-14.29074744814},{"lat":273.53440895621,"lng":-13.980079025354},{"lat":273.76950938426,"lng":-13.662495884096},{"lat":274.00263417847,"lng":-13.338491932828},{"lat":274.23427724728,"lng":-13.008067171551},{"lat":274.46394468225,"lng":-12.670727691801},{"lat":274.69163648337,"lng":-12.327955218966},{"lat":274.9178465591,"lng":-11.978268027659},{"lat":275.14158709253,"lng":-11.622160026342},{"lat":275.36384590056,"lng":-11.260125123477},{"lat":275.58363516628,"lng":-10.891669410603},{"lat":275.80194270662,"lng":-10.51728679618},{"lat":276.01827461311,"lng":-10.136977280211},{"lat":276.23263088574,"lng":-9.7507408626934},{"lat":276.44451761607,"lng":-9.3580836351663},{"lat":276.65492262101,"lng":-8.9594995060915},{"lat":276.86285808364,"lng":-8.5554823839315},{"lat":277.06881791241,"lng":-8.1455383602239},{"lat":277.27280210734,"lng":-7.7296674349687},{"lat":277.47481066842,"lng":-7.3083635166282},{"lat":277.67434968719,"lng":-6.8811326967402},{"lat":277.87191307211,"lng":-6.4484688837669},{"lat":278.06700691472,"lng":-6.009878169246},{"lat":278.26012512348,"lng":-5.5663483701021},{"lat":278.45077378992,"lng":-5.1173855778729},{"lat":278.63944682252,"lng":-4.6629897925584},{"lat":278.82565031281,"lng":-4.2031610141587},{"lat":279.00987816925,"lng":-3.7378992426737},{"lat":279.19114257491,"lng":-3.2676983865657},{"lat":279.37043134672,"lng":-2.7920645373724},{"lat":279.54725057623,"lng":-2.3109976950938},{"lat":279.72160026342,"lng":-1.8254856766546},{"lat":279.89397431676,"lng":-1.3345406651301},{"lat":280.06338491933,"lng":-0.83865656898254},{"lat":280.23081988805,"lng":-0.33783338821203},{"lat":280.39529140599,"lng":0.16694106025683},{"lat":280.55778729009,"lng":0.67764241027329},{"lat":280.71731972341,"lng":1.1932828449127},{"lat":280.87438261442,"lng":1.7128745472506},{"lat":281.02897596312,"lng":2.2374053342114},{"lat":281.18109976951,"lng":2.7668752057952},{"lat":281.33075403359,"lng":3.3002963450774},{"lat":281.47744484689,"lng":3.8386565689826},{"lat":281.62166611788,"lng":4.3809680605861},{"lat":281.7629239381,"lng":4.9282186368127},{"lat":281.901712216,"lng":5.4794204807376},{"lat":282.03753704313,"lng":6.0355614092855},{"lat":282.17089232796,"lng":6.5956536055318},{"lat":282.301284162,"lng":7.1596970694765},{"lat":282.42871254527,"lng":7.7276918011195},{"lat":282.55367138624,"lng":8.299637800461},{"lat":282.67566677642,"lng":8.8765228844254},{"lat":282.7951926243,"lng":9.4563714191637},{"lat":282.9117550214,"lng":10.041159038525},{"lat":283.02486005927,"lng":10.62891010866},{"lat":283.13500164636,"lng":11.220612446493},{"lat":283.24267369114,"lng":11.816266052025},{"lat":283.34738228515,"lng":12.415870925255},{"lat":283.44912742838,"lng":13.018439249259},{"lat":283.54790912084,"lng":13.624958840961},{"lat":283.64323345407,"lng":14.235429700362},{"lat":283.73559433652,"lng":14.848864010537},{"lat":283.82499176819,"lng":15.46624958841},{"lat":283.91142574909,"lng":16.086598617056},{"lat":283.99489627922,"lng":16.710898913401},{"lat":284.07540335858,"lng":17.33816266052},{"lat":284.15195917023,"lng":17.968389858413},{"lat":284.22555153112,"lng":18.601580507079},{"lat":284.29618044122,"lng":19.238722423444},{"lat":284.3633519921,"lng":19.878827790583},{"lat":284.42706618373,"lng":20.521896608495},{"lat":284.4878169246,"lng":21.166941060257},{"lat":284.54560421469,"lng":21.815936779717},{"lat":284.59993414554,"lng":22.466908133026},{"lat":284.65080671716,"lng":23.121830754034},{"lat":284.69822192954,"lng":23.77872900889},{"lat":284.74217978268,"lng":24.439578531446},{"lat":284.78317418505,"lng":25.10240368785},{"lat":284.82021731972,"lng":25.768192295028},{"lat":284.85429700362,"lng":26.435956536055},{"lat":284.88442541982,"lng":27.105696410932},{"lat":284.91159038525,"lng":27.778399736582},{"lat":284.93480408298,"lng":28.454066513006},{"lat":284.95456042147,"lng":29.13170892328},{"lat":284.97085940072,"lng":29.811326967402},{"lat":284.98320711228,"lng":30.492920645374},{"lat":284.99259137307,"lng":31.177477774119},{"lat":284.99802436615,"lng":31.863022719789},{"lat":285,"lng":32.552518933158},{"lat":284.99802436615,"lng":33.242015146526},{"lat":284.99259137307,"lng":33.927560092196},{"lat":284.98320711228,"lng":34.612117220942},{"lat":284.97085940072,"lng":35.293710898913},{"lat":284.95456042147,"lng":35.973328943036},{"lat":284.93480408298,"lng":36.650971353309},{"lat":284.91159038525,"lng":37.326638129733},{"lat":284.88442541982,"lng":37.999341455384},{"lat":284.85429700362,"lng":38.66908133026},{"lat":284.82021731972,"lng":39.336845571287},{"lat":284.78317418505,"lng":40.002634178466},{"lat":284.74217978268,"lng":40.66545933487},{"lat":284.69822192954,"lng":41.326308857425},{"lat":284.65080671716,"lng":41.983207112282},{"lat":284.59993414554,"lng":42.638129733289},{"lat":284.54560421469,"lng":43.289101086599},{"lat":284.4878169246,"lng":43.938096806059},{"lat":284.42706618373,"lng":44.58314125782},{"lat":284.3633519921,"lng":45.226210075733},{"lat":284.29618044122,"lng":45.866315442871},{"lat":284.22555153112,"lng":46.503457359236},{"lat":284.15195917023,"lng":47.136648007903},{"lat":284.07540335858,"lng":47.766875205795},{"lat":283.99489627922,"lng":48.394138952914},{"lat":283.91142574909,"lng":49.018439249259},{"lat":283.82499176819,"lng":49.638788277906},{"lat":283.73559433652,"lng":50.256173855779},{"lat":283.64323345407,"lng":50.869608165953},{"lat":283.54790912084,"lng":51.480079025354},{"lat":283.44912742838,"lng":52.086598617056},{"lat":283.34738228515,"lng":52.68916694106},{"lat":283.24267369114,"lng":53.28877181429},{"lat":283.13500164636,"lng":53.884425419822},{"lat":283.02486005927,"lng":54.476127757656},{"lat":282.9117550214,"lng":55.063878827791},{"lat":282.7951926243,"lng":55.648666447152},{"lat":282.67566677642,"lng":56.22851498189},{"lat":282.55367138624,"lng":56.805400065854},{"lat":282.42871254527,"lng":57.377346065196},{"lat":282.301284162,"lng":57.945340796839},{"lat":282.17089232796,"lng":58.509384260784},{"lat":282.03753704313,"lng":59.06947645703},{"lat":281.901712216,"lng":59.624629568653},{"lat":281.7629239381,"lng":60.175831412578},{"lat":281.62166611788,"lng":60.723081988805},{"lat":281.47744484689,"lng":61.265393480408},{"lat":281.33075403359,"lng":61.803753704313},{"lat":281.18109976951,"lng":62.337174843596},{"lat":281.02897596312,"lng":62.866644715179},{"lat":280.87438261442,"lng":63.39117550214},{"lat":280.71731972341,"lng":63.910767204478},{"lat":280.55778729009,"lng":64.426407639118},{"lat":280.39529140599,"lng":64.937108989134},{"lat":280.23081988805,"lng":65.441883437603},{"lat":280.06338491933,"lng":65.942706618373},{"lat":279.89397431676,"lng":66.438590714521},{"lat":279.72160026342,"lng":66.929535726045},{"lat":279.54725057623,"lng":67.415541652947},{"lat":279.37043134672,"lng":67.896608495226},{"lat":279.19114257491,"lng":68.371748435957},{"lat":279.00987816925,"lng":68.841949292065},{"lat":278.82565031281,"lng":69.30721106355},{"lat":278.63944682252,"lng":69.767533750412},{"lat":278.45077378992,"lng":70.221929535726},{"lat":278.26012512348,"lng":70.671386236418},{"lat":278.06700691472,"lng":71.114916035561},{"lat":277.87191307211,"lng":71.553506750082},{"lat":277.67434968719,"lng":71.986170563056},{"lat":277.47481066842,"lng":72.412907474481},{"lat":277.27280210734,"lng":72.834705301284},{"lat":277.06881791241,"lng":73.250576226539},{"lat":276.86285808364,"lng":73.660520250247},{"lat":276.65492262101,"lng":74.064537372407},{"lat":276.44451761607,"lng":74.462627593019},{"lat":276.23263088574,"lng":74.854790912084},{"lat":276.01827461311,"lng":75.242015146526},{"lat":275.80194270662,"lng":75.622324662496},{"lat":275.58363516628,"lng":75.996707276918},{"lat":275.36384590056,"lng":76.365162989793},{"lat":275.14158709253,"lng":76.72769180112},{"lat":274.9178465591,"lng":77.083305893974},{"lat":274.69163648337,"lng":77.432993085282},{"lat":274.46394468225,"lng":77.776753375041},{"lat":274.23427724728,"lng":78.113598946329},{"lat":274.00263417847,"lng":78.443529799144},{"lat":273.76950938426,"lng":78.767533750412},{"lat":273.53440895621,"lng":79.085610800132},{"lat":273.29782680277,"lng":79.395785314455},{"lat":273.05926901548,"lng":79.700032927231},{"lat":272.8192295028,"lng":79.997365821534},{"lat":272.57721435627,"lng":80.28877181429},{"lat":272.33371748436,"lng":80.57227527165},{"lat":272.0882449786,"lng":80.849851827461},{"lat":271.84129074745,"lng":81.119525847876},{"lat":271.59285479091,"lng":81.383272966744},{"lat":271.34293710899,"lng":81.639117550214},{"lat":271.09153770168,"lng":81.888047415212},{"lat":270.83816266052,"lng":82.130062561739},{"lat":270.58379980244,"lng":82.365162989793},{"lat":270.3274613105,"lng":82.59236088245},{"lat":270.06964109318,"lng":82.812644056635},{"lat":269.81083305894,"lng":83.026012512348},{"lat":269.55054329931,"lng":83.231478432664},{"lat":269.28827790583,"lng":83.430029634508},{"lat":269.02502469542,"lng":83.620678300955},{"lat":268.76028975963,"lng":83.80441224893},{"lat":268.49456700691,"lng":83.980243661508},{"lat":268.22736252881,"lng":84.148172538689},{"lat":267.95917023378,"lng":84.308198880474},{"lat":267.68900230491,"lng":84.461310503787},{"lat":267.4178465591,"lng":84.605531774778},{"lat":267.14520908792,"lng":84.742838327297},{"lat":266.8715837998,"lng":84.872242344419},{"lat":266.59697069476,"lng":84.993743826144},{"lat":266.32087586434,"lng":85.106354955548},{"lat":266.04379321699,"lng":85.21205136648},{"lat":265.76621666118,"lng":85.309845242015},{"lat":265.48666447152,"lng":85.397760948304},{"lat":265.20661837339,"lng":85.478761936121},{"lat":264.92509054988,"lng":85.550872571617},{"lat":264.64257490945,"lng":85.615080671716},{"lat":264.35956536055,"lng":85.670398419493},{"lat":264.07507408627,"lng":85.717813631874},{"lat":263.78959499506,"lng":85.756338491933},{"lat":263.50312808693,"lng":85.785972999671},{"lat":263.21616727033,"lng":85.807704972012},{"lat":262.92772472835,"lng":85.821534408956}]]]
Any suggestion to bypass the simplification or something ? Thanks,
I'm having a similar issue!
The same for me, anyone found a solution?
+1
I have also been having this issue, so I decided to do a bit of digging.
It appears that that the function latLngsToClipperPoints
, or specifically, latLngToLayerPoint
, is the root of the problem.
The LatLngs that are passed in are:
"LatLng(84.99073, -179.53296),LatLng(84.99073, -179.53272),LatLng(84.99074, -179.53248),LatLng(84.99075, -179.53237),LatLng(84.99076, -179.53228),LatLng(84.99086, -179.53192),LatLng(84.99098, -179.53092),LatLng(84.99105, -179.53001),LatLng(84.99108, -179.52945),LatLng(84.99109, -179.52937),LatLng(84.99115, -179.52896),LatLng(84.99118, -179.52889),LatLng(84.9912, -179.5289),LatLng(84.99122, -179.52899),LatLng(84.99123, -179.52917),LatLng(84.99124, -179.52955),LatLng(84.99124, -179.52989),LatLng(84.99123, -179.53038),LatLng(84.99121, -179.53059),LatLng(84.99114, -179.53212),LatLng(84.99117, -179.53236),LatLng(84.99118, -179.53253),LatLng(84.9912, -179.53282),LatLng(84.99121, -179.53338),LatLng(84.99122, -179.53427),LatLng(84.99122, -179.53474),LatLng(84.9912, -179.53514),LatLng(84.99116, -179.53677),LatLng(84.99113, -179.53761),LatLng(84.99109, -179.53812),LatLng(84.99107, -179.53836),LatLng(84.99104, -179.53839),LatLng(84.99101, -179.53833),LatLng(84.99099, -179.53815),LatLng(84.99097, -179.53791),LatLng(84.99095, -179.5373),LatLng(84.99094, -179.53639),LatLng(84.99094, -179.53585),LatLng(84.99094, -179.53518),LatLng(84.99085, -179.53376),LatLng(84.99076, -179.53354),LatLng(84.99075, -179.53346),LatLng(84.99074, -179.53316),LatLng(84.99073, -179.53296)"
whilst the ClipperPoints returned are:
{X:968, Y:375},{X:968, Y:375},{X:968, Y:375},{X:968, Y:375},{X:968, Y:375},{X:968, Y:375},{X:969, Y:374},{X:969, Y:374},{X:969, Y:374},{X:969, Y:374},{X:970, Y:374},{X:970, Y:373},{X:970, Y:373},{X:969, Y:373},{X:969, Y:373},{X:969, Y:373},{X:969, Y:373},{X:969, Y:373},{X:969, Y:373},{X:968, Y:374},{X:968, Y:374},{X:968, Y:373},{X:968, Y:373},{X:968, Y:373},{X:968, Y:373},{X:967, Y:373},{X:967, Y:373},{X:967, Y:374},{X:966, Y:374},{X:966, Y:374},{X:966, Y:374},{X:966, Y:374},{X:966, Y:374},{X:966, Y:374},{X:966, Y:374},{X:966, Y:374},{X:967, Y:375},{X:967, Y:375},{X:967, Y:374},{X:968, Y:375},{X:968, Y:375},{X:968, Y:375},{X:968, Y:375},{X:968, Y:375}
As you can see, a lot of the LatLngs are being mapped to the same ClipperPoint, resulting in the simplification.
Unfortunately, I do not know where to go from here with regards to solving this issue, but hopefully this will be able to help someone a bit more knowledgeable!
+1 Similar issue. I tried to disabled the simplification but it doesn't work... Thanks for your help!
We have the same problem but this is a Leaflet Issue (https://github.com/Leaflet/Leaflet/issues/6177)
What you can do to make the result a bit better: (Psuedo code) const currentZoomLevel = map.getZoom(); map.setZoom(MAX_ZOOM_LEVEL); use freedraw to write the polygon(s)... map.setZoom(currentZoomLevel);
And yes, @roberts-g is right "latLngToLayerPoint" is the problem. You can also try something like this:
onMapReady():void{ this.map.latLngToLayerPoint = function (latlng) { var projectedPoint = this.project(toLatLng(latlng)); return projectedPoint._subtract(this.getPixelOrigin()); }; };