Ste*_*ead 5 mapbox mapbox-gl-js
根据这个答案,我使用的是纯背景,而不是使用 MapBox 样式
var map = new mapboxgl.Map({
container: 'map',
style: {
version: 8,
sources: {},
layers: [
{
id: 'background',
type: 'background',
paint: {'background-color': 'white'}
}
]
}
});
Run Code Online (Sandbox Code Playgroud)
我添加了一个GeoJSON点图层并尝试对其进行标记:
'layout': {
'text-field': ['get', 'name'],
'text-font': ['Open Sans Semibold', 'Arial Unicode MS Bold'],
},
Run Code Online (Sandbox Code Playgroud)
如果我对地图使用标准 MapBox 样式,则图层会被正确标记。但如果我使用前面提到的空白底图,该图层会返回错误:
使用“文本字段”需要样式“字形”属性
搜索此错误消息表明我需要添加一个glyphs选项:
"glyphs":"mapbox://fonts/mapbox/{fontstack}/{range}.pbf"或者"glyphs":"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"
但是,这些选项都不能阻止错误消息,并且不会标记图层。
glyphs使用空底图时参数的正确语法是什么?
作为解决方法,我在 MapBox Studio 中创建了一个新的空白样式并将其用作底图。此后,标签正确显示。
var map = new mapboxgl.Map({
style: mapbox://styles/my-blank-map,
...
})
Run Code Online (Sandbox Code Playgroud)
我仍然想知道是否有一种编程方式可以使用 MapBox GL-JS API 来执行此操作。
| 归档时间: |
|
| 查看次数: |
2911 次 |
| 最近记录: |