mapbox gl数据驱动样式:“;“价值”;参数是什么?
我正在根据当前的缩放值修改图标大小,方法是使用缩放数据驱动大小 据我所知,我正在使用属性“zoom”跟踪缩放值(根据规范,这是必需的),在停止时,我设置每个所需的“zoom”值,然后输出该状态的图标大小值(由0-1>3范围显示)。如果我没有包含参数“value”:代码会失败。如果我将其全部设置为1,则效果良好,因此似乎忽略了该值 有人能解释它的实际用途吗mapbox gl数据驱动样式:“;“价值”;参数是什么?,mapbox,mapbox-gl,mapbox-gl-js,Mapbox,Mapbox Gl,Mapbox Gl Js,我正在根据当前的缩放值修改图标大小,方法是使用缩放数据驱动大小 据我所知,我正在使用属性“zoom”跟踪缩放值(根据规范,这是必需的),在停止时,我设置每个所需的“zoom”值,然后输出该状态的图标大小值(由0-1>3范围显示)。如果我没有包含参数“value”:代码会失败。如果我将其全部设置为1,则效果良好,因此似乎忽略了该值 有人能解释它的实际用途吗 // Add layer to map populating data from Geojson map.addLayer({
// Add layer to map populating data from Geojson
map.addLayer({
"id": "seed",
"type": "symbol",
"source": "objects",
"layout": {
"icon-rotation-alignment": "map",
"icon-keep-upright": true,
"icon-rotate": 0,
"icon-image": "{icon}",
"icon-allow-overlap": true,
"icon-size": {
"property": "zoom",
"type": "exponential",
"stops": [
[{ "zoom": 15, "value": 1}, 0.1],
[{ "zoom": 16, "value": 1}, 0.3],
[{ "zoom": 17, "value": 1}, 0.6],
[{ "zoom": 18, "value": 1}, 0.8],
[{ "zoom": 19, "value": 1}, 2],
[{ "zoom": 20, "value": 1}, 3]
]
}
}
});
});
为@stuffyjoelab的混乱道歉 Mapbox GL中有三种类型的函数:
- 缩放功能允许地图功能的外观随地图的缩放级别而变化
- 属性函数允许地图要素的外观随其属性而变化
- 缩放和属性功能允许地图要素的外观随其属性和缩放而改变
zoom
不是属性(除非您的功能上有一个名为zoom
的属性)
如果通过删除“属性”:“zoom”
并用数字缩放替换站点中的{zoom,value}
对象来切换到缩放功能语法,则一切都应按预期工作
// Add layer to map populating data from Geojson
map.addLayer({
"id": "seed",
"type": "symbol",
"source": "objects",
"layout": {
"icon-rotation-alignment": "map",
"icon-keep-upright": true,
"icon-rotate": 0,
"icon-image": "{icon}",
"icon-allow-overlap": true,
"icon-size": {
"type": "exponential",
"stops": [
[15, 0.1],
[16, 0.3],
[17, 0.6],
[18, 0.8],
[19, 2],
[20, 3]
]
}
}
});
谢谢你。这是你通过阅读文档永远无法解决的问题。通常你只需要一个好的例子。。。。!你的回答突然回答了很多关于geojson和mapbox的谜团,尽管我必须读很多遍才能弄清楚。