从URL加载GeoJSON到图层?

时间:2015-06-12 16:42:06

标签: javascript leaflet mapbox

我正在使用Mapbox 2.1,并尝试从GeoJSON源构建一个chloropleth地图,使用此示例:https://www.mapbox.com/mapbox.js/example/v1.0.0/choropleth/

然而,我在第一个障碍时堕落,因为我的GeoJSON源是一个纯GeoJSON文件,而不是像他们的例子那样的JS文件。

所以这条线对我不起作用:

var statesLayer = L.geoJson(statesData,  {
    style: getStyle,
    onEachFeature: onEachFeature
}).addTo(map);

他们的JS filestatesData定义为变量:

var statesData = { "type": "FeatureCollection" ... };

但是我的GeoJSON文件只是一个GeoJSON文件。

如何定义statesData的等效项,以便我可以按照示例进行操作?

我想我可以使用eval来阅读GeoJSON,但这通常是一个坏主意。

1 个答案:

答案 0 :(得分:0)

您可以使用ajax从您自己的网站获取数据

这是一种jquery方式。

$.ajax({
dataType: "json", //you shouldn't need to declare geojson
url: "data/district.geojson",
success: function(data) {
    //whatever you want to do with the data, alternatively you could use a closer around the ajax request to capture the data into a variable depending on how you have your code organized
}
}).error(function(e) {
     console.log(e)
});