加载GeoJSON的成层从URL?(Load GeoJSON into layer from a U

2019-10-23 08:46发布

我使用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文件定义statesData作为变量:

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

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

我如何定义相当于statesData ,这样我可以效仿的榜样?

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

Answer 1:

您可以使用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)
});


文章来源: Load GeoJSON into layer from a URL?