Javascript poly内的传单和Turf.js点

Javascript poly内的传单和Turf.js点,javascript,leaflet,turfjs,Javascript,Leaflet,Turfjs,我有一张单张中有17个点(GeoJSON)的简单地图,我使用绘图工具创建了一个多边形,用于选择多边形中的点 map.on('draw:created', function (e) { //from draw tool var type = e.layerType, layer = e.layer; editableLayers.addLayer(layer); GetSelection(editableLayers); }); func

我有一张单张中有17个点(GeoJSON)的简单地图,我使用绘图工具创建了一个多边形,用于选择多边形中的点

map.on('draw:created', function (e) {  //from draw tool
    var type = e.layerType,
        layer = e.layer;
        editableLayers.addLayer(layer);
        GetSelection(editableLayers);
});

function GetSelection(layer){
    var count = allPoints.getLayers().length;
    console.log(count +" Sites");  //says 17
    var drawList = editableLayers.getLayers().length;
    console.log(drawList +" Polys");  //Says 1

    if (editableLayers.getLayers().length >0){
        var fcpt = turf.featurecollection(allPoints);
        console.log(fcpt);  // says 17
        var fcpoly = turf.featurecollection(editableLayers);
        console.log(fcpoly);  // fails as undefined
           //var ptsWithin = turf.within(fcpt,editableLayers);
        var ptsWithin = turf.within(fcpt,fcpoly);
        console.log(ptsWithin);  //never gets this far.

    };
};
有什么想法或建议吗?

需要的是一系列GeoJSON功能,而不是像
所有点
可编辑层
变量那样的传单层组

类似地,需要2个GeoJSON功能集合作为参数,而不是传单层组

因此,您可以直接尝试:

var ptsWithin=turp.within(allPoints.toGeoJSON(),editableLayers.toGeoJSON());

@ghybs是对的,这是传单和草皮之间的区别,虽然点没有问题,但多边形没有过来。通过向turf传递GeoJson和多边形信息,使其能够工作

工作副本:

map.on('draw:created', function (e) {
    featureGroup.clearLayers();
    layer = e.layer;
    featureGroup.addLayer(layer);
    GetSelection(featureGroup);
});

function GetSelection(layer){

    var shape2 = allPoints.toGeoJSON()  //All facilities
    var ptsWithin = turf.within(shape2, layer.toGeoJSON());

        alert('Found ' + ptsWithin.features.length + ' features');  
        alert("results "+JSON.stringify(ptsWithin));
};

fcpolyn
中的打字错误,应该是
fcpoly
?@ghybs,谢谢,我修正了打字错误,但仍然存在同样的问题,功能集没有功能。我没有足够的分数来投票支持你的答案。今天下午我的思路是正确的,但是找不到正确的代码,你有简单的解决方法。谢谢。很高兴与大家分享您的发现和解决方案!:-)