Javascript 在Mapbox中标记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": { "

我在Mapbox GL JS文档中找不到关于如何向GeoJSON多边形添加简单标签的任何地方,因此我正在使用我找到的几个示例

我的GeoJSON的结构如下:

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的文档,在这里也搜索了,但是我找不到一个普通的方法来添加一个简单的标签

我发现,如果您试图使用此库向多边形添加标签,则首先需要从现有数据集创建一个点图层,并使用该图层添加标签

这个网站帮我找到了答案: