我在传单中摄取了一个大型 geoJSON 文件,其中包含近 19,000 个特征(点)。这会导致地图上出现大量混乱并且无法管理。
目标是使用地理定位来标记我的位置,在其周围画一个 5nm 的圆圈,并仅显示位于该几何图形内的 geoJSON 特征。
我的项目的精简版是: https ://jsfiddle.net/blintster/d2ucock2/3/
我已经找到了我的位置并绘制了圆圈,但我无法解析位置上的 geoJSON 功能。理想情况下,输出将像这样运行:https : //esri.github.io/esri-leaflet/examples/spatial-queries.html 但是,该方法似乎仅适用于 L.esri.FeatureLayer,这是本地导入的 geoJSON .
有问题的 geoJSON 层位于 [airports] 是 19,000 个条目的下方:
var allairportsLayer = L.geoJson([airports], {
filter: airportFilter,
onEachFeature: function(feature, layer) {
layer.bindPopup(feature.properties.Type + " - " + feature.properties.FacilityName + "<br>Contact Info: " + feature.properties.Manager + "<br> Phone: " + feature.properties.ManagerPhone);
}
}).addTo(map);
function airportFilter(feature) {
if (feature.properties.State === "MD") return true
};
我可以通过按状态使用过滤器方法对结果进行轻微配对,但这仅允许我确定属性是否符合指定条件。
我还尝试了以下方法:https ://www.mapbox.com/mapbox.js/example/v1.0.0/marker-radius-search/ 没有运气。
有谁知道我可以尝试解析数据以使其仅显示位于几何图形中的点的任何其他方法?