Javascript 在Mapbox中标记GeoJSON多边形
我在Mapbox GL JS文档中找不到关于如何向GeoJSON多边形添加简单标签的任何地方,因此我正在使用我找到的几个示例 我的GeoJSON的结构如下:Javascript 在Mapbox中标记GeoJSON多边形,javascript,mapbox,geojson,mapbox-gl-js,Javascript,Mapbox,Geojson,Mapbox Gl Js,我在Mapbox GL JS文档中找不到关于如何向GeoJSON多边形添加简单标签的任何地方,因此我正在使用我找到的几个示例 我的GeoJSON的结构如下: const gj = { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "id": "309" }, "geometry": { "
const gj = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": "309"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
77.34374999999999,
54.57206165565852
],
[
124.45312499999999,
63.074865690586634
],
[
102.65625,
64.16810689799152
],
[
77.34374999999999,
54.57206165565852
]
]
]
}
},
{
"type": "Feature",
"properties": {
"id": "310"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
81.9140625,
48.22467264956519
],
[
124.45312499999999,
51.39920565355378
],
[
122.6953125,
59.88893689676585
],
[
81.9140625,
48.22467264956519
]
]
]
}
}
]
}
我试图用id
字段标记多边形
下面是它的样子:
map.addSource("maine", {
type: "geojson",
data: gj,
});
map.addLayer({
id: "maine",
type: "fill",
source: "maine",
layout: {
"text-field": ['get','id'],
},
paint: {
"fill-color": "#088",
"fill-opacity": 0.8,
},
});
我遇到的问题是,当我将
文本字段
添加到布局
对象时,该层根本不会渲染。我已经搜索了Mapbox的文档,在这里也搜索了,但是我找不到一个普通的方法来添加一个简单的标签 我发现,如果您试图使用此库向多边形添加标签,则首先需要从现有数据集创建一个点图层,并使用该图层添加标签
这个网站帮我找到了答案: