无法通过Omnivore加载CSV数据

时间:2018-03-22 09:50:16

标签: 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);

1 个答案:

答案 0 :(得分:1)

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);