I'm trying to set a buffer with turfjs in a polygon. The polygon is loaded by L.geoJSON();
. When I execute bufferConcesion, this line var turfBuffer = turf.buffer(feature,value,{units:"kilometers"});
returns this error: Uncaught _u {}
What might bethe problem.
This is my code:
var featLayer = new L.GeoJSON(data, {
style:{
weight: 1,
fillOpacity: 0.7,
color: 'red'
},
onEachFeature: function(feature, layer) {
layer.on('contextmenu',popUpBuffer);
}
});
function popUpBuffer(e){
var id = e.target.feature.properties.id;
var popup = L.popup()
.setLatLng(e.latlng)
.setContent("<table><tr><td>Buffer (KM): </td><td><input type='text' id='buffer_value'><input type='hidden' id='ca_id' value='"+id+"'/></td><td><button onclick='bufferConcesion()'>Go</button></td></tr></table>")
.openOn(map);
}
function bufferConcesion(){
var value = document.getElementById("buffer_value").value;
if(value!==""){
var layer = L.geoJSON(data,{
filter:isID,
onEachFeature: function(feature, layer) {
var turfBuffer = turf.buffer(feature,value,{units:"kilometers"});
var turfBufferLyr = L.geoJSON(turfBuffer, {style:{color:'yellow',dashArray:'5.5',fillOpacity:0}}).addTo(featLayer);
}
}).addTo(featLayer);
}
}
function isID(feature){
var id = document.getElementById("ca_id").value;
if (feature.properties.id === id) return true
}
console.log(feature)
in your onEachFeature function?