javascript - 无法通过 Omnivore 加载 CSV 数据

标签 javascript leaflet geojson

我正在尝试加载一个 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/

相关文章:

javascript - 如何让一个div适合100%的手机屏幕

javascript - 带自定义投影的 Leaflet 1.0.X fitBounds

python - 在模型中包含 GeoDjango Point

javascript - Ace.js .on 事件

Javascript - .length 给我 0 长度

javascript - 使用 Jquery 选中时更改复选框的背景颜色

d3.js - 用d3和Leaflet实现动画缩放

javascript - Leaflet 的脉冲动画有奇怪的行为 [包括 GIF]

javascript - 动态 MySQL 查询以填充要在 MapBox GL-JS 中显示的 GeoJson 数据缓存

javascript - 从 JSON 字符串值中删除双引号