[英]Phonegap: Object xx has no method 'exec' at file:///android_asset/www/cordova.js
[英]LeafLet Error : Object #<Object> has no method 'onAdd' at file:///android_asset/www/leaflet.js:6
我试图了解Leaflet的工作原理。 我正在尝试本教程。 我从教程中删除了一些代码以获取更简洁的代码。 现在L.control.layers有问题。
如果我想这样叠加
var overlays = {
"Cities": cities
};
var layersControl = L.control.layers(null, overlays);
将叠加层添加到控件没有问题。 使用此代码,我可以通过单击复选框显示/隐藏图层
但是如果我想这样添加叠加
var overlays = {
"Cities": cities
};
var layersControl = L.control.layers();
layersControl.addOverlay(overlays);
覆盖物有问题。 在这里,当我想通过单击复选框显示/隐藏图层时,出现错误。
未捕获的TypeError:对象#在file:///android_asset/www/leaflet.js:6处没有方法'onAdd'
未捕获到的TypeError:对象#在file:///android_asset/www/leaflet.js:6处没有方法'onRemove'
我必须使用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 © 2011 OpenStreetMap contributors, Imagery © 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);
我自己找到了解决方案。
我直接添加了城市对象,而不是尝试添加叠加层
var layersControl = L.control.layers();
layersControl.addOverlay(cities,'Cities');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.