在jQuery中,是否可以检测像多边形这样的大形状是否包含较小的圆形状?

在jQuery中,是否可以检测像多边形这样的大形状是否包含较小的圆形状?,jquery,leaflet,Jquery,Leaflet,我有一个应用程序,它使用flipal.js和geoJSON创建一个大多边形区域,然后使用jQuery和flipal.js的混合使用较小的圆填充该区域 这是创建圆的地方: $.getJSON('http://localhost/json/json.php', function(data){ $(data.payload.incidents).each(function(key, value) { var lati = data.payload.inciden

我有一个应用程序,它使用flipal.js和geoJSON创建一个大多边形区域,然后使用jQuery和flipal.js的混合使用较小的圆填充该区域

这是创建圆的地方:

$.getJSON('http://localhost/json/json.php', function(data){
        $(data.payload.incidents).each(function(key, value) {
            var lati = data.payload.incidents[key].incident.locationlatitude; 
            var longi = data.payload.incidents[key].incident.locationlongitude; 
            var title = data.payload.incidents[key].incident.incidenttitle;
            var desc = data.payload.incidents[key].incident.incidentdescription;
            var mark = L.circle([lati, longi], 50,{
                color: 'red',
                fillColor: '#f03',
                fillOpacity: 0.5
                }).addTo(map); 


            mark.bindPopup("<b>"+title+"</b></br></br>"+desc).openPopup();
            console.log("success");
            }
        })

    });
但是.contains()似乎只用于矩形

这是将多边形添加到地图的位置。(areaData是geoJSON)

你能试试这个吗

if(geojson.getBounds().contains(mark.getLatLng())){console.log('mark detected')}

因为contains需要一个latLong对象,而您提供的是一个L.circle对象

这太宽了。。。这些元素到底是什么?它们是如何产生的?你试过什么了吗?您有任何代码可以共享吗?polygon.getBounds()返回一个边界框。很容易检查一个点是否在一个方框内;这就是contains所做的。检查多边形比较困难。这里有一个很好的讨论
        var geojson
        geojson = L.geoJson(areaData, {
        style: style,
        onEachFeature: onEachFeature
    }).addTo(map);
if(geojson.getBounds().contains(mark.getLatLng())){console.log('mark detected')}