首页 > 解决方案 > 如何正确添加图层控件?

问题描述

我似乎在向我的页面添加图层控制菜单时遇到了相当大的问题。我以为我的代码是正确的,但每次我尝试添加它时,它都不会显示。我究竟做错了什么?

L.geoJSON(城市).addTo(地图);

  ```code```

  var baseMaps = {
      "States": statesData
  };

  var overlayMaps = {
      "cities": cities
  };

  L.control.layers(baseMaps, overlayMaps).addTo(map);

标签: javascripthtmlleafletcontrolslayer

解决方案


您必须创建一个 Layergroup / GeoJsonlayer 才能将它们添加到控制器中。您不能将纯 geojson 对象添加到控制器。

var statesDataLayer = L.geoJSON(statesData); // Don't know if this is also geojson?
var citiesLayer = L.geoJSON(cities);

var baseMaps = {
      "States": statesDataLayer // Don't know if this is also geojson?
  };

  var overlayMaps = {
      "cities": citiesLayer
  };

  L.control.layers(baseMaps, overlayMaps).addTo(map);

推荐阅读