我需要将一个压缩的shapefile集合(shp,shx,dbf等)加载到我的Leaflet映射中。我正在使用calvinmetcalf的leaflet.shapefile。您可以在https://github.com/calvinmetcalf/leaflet.shapefile处找到该插件。
文档指出L.shapefile接受压缩的shapefile的数组缓冲区或压缩的shapefile的url。我从服务器检索了压缩的shapefile作为blob。然后,我从中创建了一个数组缓冲区,并将其传递给构造函数。
Parent
检索到的blob在前端看起来像这样。出于明显的原因,删除了URI。
Parent::x
我没有得到任何geojson图层,而是收到了以下错误。
let shapeFile = GetShapeFiles(jsonObj.container, jsonObj.select, key);
let arrayBuffer = new Response(shapeFile).arrayBuffer();
let shape = new L.Shapefile(arrayBuffer, {
onEachFeature: function (feature, layer)
{
}
}).addTo(map);
这是我的shapefile的结构问题还是Leaflet.shapefile读取blob的问题?该文档不包含任何用法示例,这很不幸。