Leaflet Turf – Solving Projection Problems with Turf.Buffer in Leaflet

leafletturf

I'm trying to make a buffer with Leafler, Turf, work out of the drawnItems of Leaflet Draw; but the result isn't right. It's too high but not large enough. Could you help me fix it?enter image description here

I'm using this button to get the custom buffer value:

<input type="text" id="number" value="15"><button onclick="myFunction()">Disabled buffer</button>

the script that call it is:

var x, myFunction, data, features, buffered, bufferedLayer;
function myFunction() {
var x = document.getElementById("number").value;
var xdiv = x/100;
var data = drawnItems.toGeoJSON();
  var buffered = turf.buffer(data, xdiv,{units: 'kilometers'});
        var bufferedLayer = L.geoJSON(null);
        bufferedLayer.addData(buffered);
            drawnItems.addLayer(bufferedLayer); 
               bufferedLayer.options.crs = L.CRS.EPSG4326;   
        bufferedLayer.addTo(map);
 }

Best Answer

The egg-shaped buffer is a known bug to Turf.min.js on older versions, especially version 2, that I used.

Switched to turf.min.js version 6 and solved the problem.