Layers 图层
图层控件使用户能够在不同的基础图层之间进行切换,并打开/关闭覆盖物图层 扩展自 Control 。
使用示例
var baseLayers = {
"Mapbox": mapbox,
"OpenStreetMap": osm
};
var overlays = {
"Marker": marker,
"Roads": roadsLayer
};
hnsdk.control.layers(baseLayers, overlays).addTo(map);
baseLayers 和 overlays 参数是对象字面, layer 名作为键, Layer 对象是值:
{
"<someName1>": layer1,
"<someName2>": layer2
}
图层名称可以包含 HTML,这使你可以为项目添加额外的样式:
{"<img src='my-layer-icon' /> <span class='my-layer-item'>My Layer</span>": myLayer}
Creation
| 构造函数 | 说明 |
|---|---|
hnsdk.control.layers(baselayers?, overlays?, options?) | 创建一个具有给定图层的图层控件。基本图层将用单选按钮切换,而覆盖物图层将用复选框切换。注意,所有的基本图层都应该在基本图层对象中传递,但在地图实例化过程中,只有一个图层应该被添加到地图中。 |
Options 选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
collapsed | Boolean | true | 如果为 true, 该控件将被折叠成一个图标,并在鼠标悬停或触摸时展开。 |
autoZIndex | Boolean | true | 如果为 true, 控件将以递增的顺序为其所有图层分配 zIndexes,以便在开/关它们时保留顺序。 |
hideSingleBase | Boolean | false | 如果为 true, 当只有一个基础图层时,控件中的基础图层将被隐藏。 |
sortLayers | Boolean | false | 是否对各图层进行排序。如果是 false, ,图层将保持它们被添加到控件中的顺序。 |
sortFunction | Function | * | 一个 排序函数 ,当 sortLayers 为 true时,它将被用于对图层进行排序。该函数同时接收 hnsdk.Layer 实例和它们的名字,如 sortFunction(layerA, layerB, nameA, nameB)。默认情况下,它按照名字的字母顺序对图层进行排序。 |
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
position | String | 'topright' | 控件的位置(地图的一个角)。可能的值是 'topleft'、 'topright'、 'bottomleft' 或 'bottomright' |
