用于导入数据 geojson 的传单变量

leaflet variable for import data geojson

我只是用了一张传单。从 geoJSON 演示页面我看到如果你想包含你必须使用的数据

<script src="data/us-states.geojson"></script>

如果你打开文件看起来像

var ustates = {
"type": "FeatureCollection",
......
[]
};

如果您想调用它们,请使用

var data = [ustates] ;

还有其他方法调用数据吗?我拥有的 geojson 文件没有初始变量,如下所示:

{
"type": "FeatureCollection",
......
[]
}

我有很多数据,我必须逐一打开以在 geojson 数据上添加变量,所以我的意思是我可以像这样调用数据吗

var ustates = <?php include "data/us-states.geojson"; ?>
var data = [ustates];

有一个方便的插件可以帮助解决这个问题 - leaflet-ajax - 你可以在这里找到 https://github.com/calvinmetcalf/leaflet-ajax。这将通过一个简单的步骤处理获取文件并从中创建 Leaflet 层。

用法示例:

var geojsonlayer = new L.GeoJSON.AJAX("data/us-states.json").addTo(map);

你可以使用跟随这个link

function fetchJSON(url) {
  return fetch(url)
    .then(function(response) {
      return response.json();
    });
}


var data = fetchJSON('data/us-states.geojson');