如何将两个 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
我有两个 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