【发布时间】:2022-01-26 10:41:49
【问题描述】:
我有四个 2MB 的 geoJson 文件,需要加载四个图层
LayerBoon = L.geoJSON.ajax(URL, {pointToLayer:returnBoonMarker, filter:filtertext});
带有过滤功能和此按钮点击功能
$("#btnFindText").click(function(){
SeachTXT = $("#txtFind").val();
LayerSt.refresh();
LayerPr.refresh();
LayerHL.refresh();
LayerBoon.refresh();
})
每个图层都必须通过单击按钮重新过滤。
过滤时,是否可以不每次都重新加载文件,保留在缓存中,再过滤一次?
【问题讨论】:
-
您可以使用您最喜欢的 URL 阅读器函数将 URL 的内容加载到一个变量中,然后在
L.geoJSON调用中引用该变量。L.geoJSON.ajax扩展只是一个捷径。 -
@peeebeee 你能举个例子吗,我做错了。我得到一个无效的 GeoJSON 对象。
async function addGeoJson(url) { const response = await fetch(url); data = await response.json(); //L.geoJson(data).addTo(mymap); //console.log(data); } var data1 = addGeoJson('\json_boon.json'); L.geoJson(data1).addTo(mymap);
标签: javascript ajax filter leaflet geojson