我有一个BaseMaps集合,我希望用户能够选择:
var BaseMaps = {
// TODO blank tileLayer
"Default": L.tileLayer('https://{s}.tiles.mapbox.com/v3/{id}/{z}/{x}/{y}.png', {
id: 'examples.map-20v6611k',
noWrap: true
}),
"ESRI Roads": L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}', {
noWrap: true
})
};
这些图层将L.control.layers(BaseMaps).addTo(map)
添加到我的地图的图层组控件中,并按预期工作
问题是我想要能够让用户从同一个控件中选择一个空白切片图层,从而有效地关闭基本地图,但是通过L.tileLayer()
关闭了null或空白的tileLayer不起作用,因为这打破了传单功能
是否有一种干净的方法可以为此控件添加空白tileLayer选项?挖掘API和各种github /论坛问题并没有浮出水面。
提前致谢!
答案 0 :(得分:14)
给出一个空字符串作为url参数对我有用,并且不会抛出任何错误:
var base = {
'Empty': L.tileLayer(''),
'OpenStreetMap': L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
'attribution': 'Map data © OpenStreetMap contributors'
})
};
关于Plunker的工作示例:http://plnkr.co/edit/v7sICO?p=preview