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

L.geoJSON(cities).addTo(map);

  ```code```

  var baseMaps = {
      "States": statesData
  };

  var overlayMaps = {
      "cities": cities
  };

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

最佳答案

您必须创建一个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);

10-05 20:45
查看更多