在传单中获取缓冲区内的点

时间:2016-11-20 11:33:51

标签: php ajax leaflet turfjs

我正在努力让最近的农民(积分)到特定的客户(点)。我给这个客户做了一个缓冲区,然后使用turf-inside来获取缓冲区内的点,但是它没有工作,我得到了这个错误:

  

未捕捉错误:需要坐标,要素或点几何

这是我的代码

$.ajax({
        type:"POST",
        url:"CustomerID_geojson.php",
        data:{'Cust_Name': Cust_Name} ,
        dataType: 'json',
        success: function (response) {
            var unit = 'kilometers'
            var buffered = turf.buffer(response, distance, unit)

            $.ajax({
                type: "POST",
                url: 'allfarmers_geojson.php',
                dataType: 'json',
                success: function (data) {
                    var ptsWithin = turf.inside(data, buffered);
                    geojsonLayer = L.geoJson(ptsWithin).addTo(mymap);
                    mymap.fitBounds(geojsonLayer.getBounds());
                }
             })
            }
        })

1 个答案:

答案 0 :(得分:0)

查看turf.inside文档和签名:

  

取一个 Point 和一个Polygon或MultiPolygon,并确定该点是否位于多边形内。

     

参数

     

Feature<Point>)输入点

     

polygon(Feature<(Polygon | MultiPolygon)>)输入多边形或多边形

您可能更愿意对turf.within感兴趣。

原始答案:

该错误消息会抱怨responsedata分别不是turf.bufferturf.inside的有效参数。请输出这些变量的内容,并确保它们符合Turf的期望。