如何将两个 geoJSON 要素集合添加到两个图层组中

How to add two geoJSON feature collections in to two layer groups

我有两个 geoJSON 要素集合需要添加到地图中,我还希望通过图层可见性控制器打开和关闭它们,如 http://leafletjs.com/examples/layers-control.html

所示

我该怎么做?

由于在加载 GeoJSON 时创建了图层,因此可以将其作为叠加图层添加到图层控件中(只需修改该示例并替换 cities 图层。

Leaflet的GeoJSON层L.GeoJSON的使用也有很好的教程,可以在这里找到:http://leafletjs.com/examples/geojson.html and here is the reference for L.GeoJSON: http://leafletjs.com/reference.html#geojson You already found the tutorial on L.control.layers, here is the reference for it: http://leafletjs.com/reference.html#control-layers

其实做起来很简单,只需创建一个图层控件,使用您最喜欢的 XHR 库将 GeoJSON 文件加载到您的脚本中,使用检索到的数据定义一个 L.GeoJSON 图层并添加它到图层控件。在代码中:

// Create the layercontrol and add it to the map
var controlLayers = L.control.layers().addTo(map);

// Loading a GeoJSON file (using jQuery's $.getJSON)    
$.getJSON('/my-folder/my-file.json', function (data) {

  // Use the data to create a GeoJSON layer and add it to the map
  var geojsonLayer = L.geoJson(data).addTo(map);

  // Add the geojson layer to the layercontrol
  controlLayers.addOverlay(geojsonLayer, 'My GeoJSON layer title');

});

Plunker 上的一个工作示例:http://plnkr.co/edit/tFVrrq?p=preview