我正在尝试加载一个 CSV 文件,将其转换为 GeoJSON,添加一个空的 geoJson 层,然后将数据添加到该 geoJson 层。为什么它不起作用?
var locations = 'locations.csv';
var x = omnivore.csv(locations);
var geojsonLayer = L.geoJson().addTo(map);
geojsonLayer.addData(x);
最佳答案
omnivore.csv
返回一个用加载的数据构建的层,而不是底层的 GeoJSON 对象。
尝试
var geojsonLayer = omnivore.csv(locations);
geojsonLayer.addTo(map);
或者构建你的图层并将其传递给 omnivore.csv
:
var geojsonLayer = L.geoJson().addTo(map);
omnivore.csv('locations.csv', null, geojsonLayer);
或者抛弃杂食动物并使用csv2geojson在填充图层之前加载数据:
var geojsonLayer = L.geoJson().addTo(map);
xhr = new XMLHttpRequest();
xhr.onload = function() {
csv2geojson.csv2geojson(this.responseText, {}, function(err, data) {
geojsonLayer.addData(data);
});
};
xhr.open('GET', 'locations.csv', true);
xhr.send(null);
关于javascript - 无法通过 Omnivore 加载 CSV 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49425400/