在 Leaflet LayerGroup 中为 Blank TileLayer 添加选项
Add option for Blank TileLayer in Leaflet LayerGroup
我有一组 BaseMaps 我希望用户能够 select:
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)
添加到我的地图的 LayerGroup 控件中并按预期工作
问题是我想要用户能够select来自同一控件的空白图块层,有效地关闭底图,但是空或通过 L.tileLayer()
的空白 tileLayer 不起作用,因为这会破坏 Leaflet 功能
是否有一种干净的方法可以向该控件添加一个空白的 tileLayer 选项?深入研究 API 和各种 github/forum 问题没有发现任何问题。
提前致谢!
将空字符串作为 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
我有一组 BaseMaps 我希望用户能够 select:
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)
添加到我的地图的 LayerGroup 控件中并按预期工作
问题是我想要用户能够select来自同一控件的空白图块层,有效地关闭底图,但是空或通过 L.tileLayer()
的空白 tileLayer 不起作用,因为这会破坏 Leaflet 功能
是否有一种干净的方法可以向该控件添加一个空白的 tileLayer 选项?深入研究 API 和各种 github/forum 问题没有发现任何问题。
提前致谢!
将空字符串作为 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