我想上传一个json/shp/kml/kmz文件并将其转换为geojson。
HTML
<input type="file" name="uploadfile" accept=".json,.geojson,.shp,.kml,.kmz" id="file_loader" hidden>
<input type="text" id="upload_name" placeholder="Name" aria-label="Name" >Javascript
var jsonObj;
var fileExt = upload_name.split('.').pop(); // Get file extension
var reader = new FileReader(); // Read file into text
reader.readAsText($('#file_loader')[0].files[0]);
reader.onload = function(event) {
if (fileExt == 'geojson') {
jsonObj = JSON.parse(event.target.result); // Parse text into json
} else if (fileExt == 'shp') {
// how to convert event.target.result to geojson?
} else if (fileExt == 'json') {
//
} else if (fileExt == 'kml') {
//
} else if (fileExt == 'kmz') {
//
}
}
function addToMap(){
// This function add jsonObj as a layer to Mapbox
// No problem here
}我尝试使用npm install gtran的https://www.npmjs.com/package/gtran,然后在我的javascript文件中使用var gtran = require('gtran');,但它给我一个错误:
Could not find a declaration file for module 'gtran'gtran没有@types/gtran。
我的javascript文件被webpack用babel-loader处理。不确定这是否与错误有关。
即使我成功地包含了gtran,它的函数也需要filename作为参数。我的数据在字符串中,而不是文件中,我没有文件名。我做什么好?是否要将字符串保存到文件中,然后再对该文件进行gtran?
发布于 2019-11-14 15:33:16
你不能在你的前端javascript文件中使用var gtran = require('gtran');。它在Node.js中使用。
但是,您可以在Browserify等扩展的帮助下使用它。有关更多详细信息,请参阅此post。
https://stackoverflow.com/questions/58851248
复制相似问题