LeafLet错误:对象#<Object>在file:///android_asset/www/leaflet.js上没有方法'onAdd':6

Emr*_*Koç 1 javascript leaflet

我想了解Leaflet的工作原理.我正在尝试教程.我从教程中删除了一些代码以获得更干净的代码.现在有了L.control.layers的问题.

如果我想添加这样的叠加层

var overlays = {
          "Cities": cities
            };

var layersControl = L.control.layers(null, overlays);
Run Code Online (Sandbox Code Playgroud)

添加叠加层来控制没有问题.使用此代码,我可以通过单击复选框显示/隐藏图层

但是,如果我想添加这样的叠加层

 var overlays = {
              "Cities": cities
                };
var layersControl = L.control.layers();
layersControl.addOverlay(overlays);
Run Code Online (Sandbox Code Playgroud)

叠加层存在问题.这里当我想通过单击复选框显示/隐藏图层时,出现错误.

未捕获的TypeError:对象#在文件中没有方法'onAdd':///android_asset/www/leaflet.js:6

未捕获的TypeError:对象#在文件中没有方法'onRemove':///android_asset/www/leaflet.js:6

我必须使用2.段代码.谁能帮我 ?

完整代码在这里

var cities = new L.LayerGroup();

 L.marker([39.61, -105.02]).bindPopup('This is Littleton, CO.').addTo(cities),
            L.marker([39.74, -104.99]).bindPopup('This is Denver, CO.').addTo(cities),
            L.marker([39.73, -104.8]).bindPopup('This is Aurora, CO.').addTo(cities),
            L.marker([39.77, -105.23]).bindPopup('This is Golden, CO.').addTo(cities);


            var cmAttr = 'Map data &copy; 2011 OpenStreetMap contributors, Imagery &copy; 2011 CloudMade',
                cmUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png';



            var map = L.map('map');


            map.addLayer(cities,true);
            map.setView([39.73, -104.99],10);

            var overlays = {

                "Cities": cities

            };

    var layersControl = L.control.layers(null, overlays);

     layersControl.setPosition("bottomleft");

     layersControl.addTo(map);
Run Code Online (Sandbox Code Playgroud)

Emr*_*Koç 5

我自己找到了解决方案

我直接添加了城市对象,而不是尝试添加叠加层

var layersControl = L.control.layers();
layersControl.addOverlay(cities,'Cities');
Run Code Online (Sandbox Code Playgroud)