/**
* 设置图层可见性
* @param {LayerView} layerView 图层视图对象
* */
function setVisible(layerView) {
layerView.innerView.setLayoutProperty(
layerView.innerLayer.id,
'visibility',
layerView.layer.visible ? 'visible' : 'none'
)
}
/**
* 删除图层
* @param {LayerView} layerView 图层视图对象
* */
function removeLayer(layerView) {
layerView.innerView.removeLayer(layerView.innerLayer.id)
}
/**
* 设置图层透明度
* @param {LayerView} layerView 图层视图对象
* */
function setOpacity(layerView) {
layerView.innerView.setPaintProperty(
layerView.innerLayer.id,
'raster-opacity',
layerView.layer.opacity
)
}
/**
* 获取瓦片图层的数据源
* @param {String} url 完整的出图链接地址
* @param {Layer} tileSize 瓦片大小
* @return {Object} 数据源构造参数
* */
function getRasterSource(url, tileSize) {
return {
type: 'raster',
tiles: [url],
tileSize
}
}
/**
* 获取瓦片图层的初始化参数
* @param {String} layerID 图层id
* @param {String} sourceID 图层关联的数据源id
* @param {Layer} layer common的layer对象
* @param {LayerView} layerView 图层视图对象
* @return {Object} 图层构造参数
* */
function getRasterLayer(layerID, sourceID, layer, layerView) {
return {
id: layerID,
type: 'raster',
source: sourceID,
// 初始化时设置图层透明度
paint: {
'raster-opacity': layer.opacity
},
// 初始化时设置图层可见性
layout: {
visibility: layerView._getLayerViewVisible() ? 'visible' : 'none'
}
}
}
export { setVisible, removeLayer, setOpacity, getRasterSource, getRasterLayer }