我在里面使用一个旧的(2 年)传单插件来响应加载一个形状文件(一个包含 4 个文件的 zip 文件,当在地图上显示时会绘制一个图层,通常在 GIS 上使用)
虽然插件有效(经过测试),但我想消除上传功能。只需调用我在应用程序中的 zip 文件,并使其在地图右上角的图层控制菜单上出现和消失。而已
这是https://codesandbox.io/s/34o825nz8m
我相信诀窍就在这里:
handleFile(e) {
var reader = new FileReader();
var file = e.target.files[0];
reader.onload = function(upload) {
this.readerLoad(upload);
}.bind(this);
reader.readAsArrayBuffer(file);
}
到目前为止我已经尝试过:
替换了位于此处(https://www.data.boem.gov/Mapping/Files/protrac.zip)的“./protrac.zip”的 var 文件出现错误。
更改了 reader.readAsDataURL(file)。
由于我已经删除了输入标记,因此我的意图是在 ComponentDidMount () 中运行 handleFile 函数。但我什至不能 console.log 我在我的应用程序中的 zip。
PD 如果你得到一个 createLeafletElement () 错误,这只能在 node_modules 文件夹中通过放置这一行来修复
ShapeFile.prototype.createLeafletElement = function createLeafletElement () {}