我正在使用mapbox,我试图弄清楚的一件事是如何在我刚刚创建的多边形上设置名称。我有一个要素集合,每个要素都有一个名称,但我不知道如何在多边形上显示名称。
最佳答案
一般来说,如果您想在 Mapbox GL JS map 中显示 GeoJSON 功能以及标签,则需要在 map 中添加两个引用 GeoJSON 源的图层。一层的类型为 fill
显示多边形本身,另一个的类型为 symbol
显示标签的文本。
This example演示如何添加带有 text-field
的 symbol
图层,其中包含 GeoJSON 源中 Point
要素的名称。如果您有要显示名称的每个多边形的坐标,则可以按照此示例在使用 fill
图层添加多边形后添加名称。
否则,您将需要计算要添加名称的每个多边形的质心坐标。为此,您可以使用 Turf's centroid
method在 FeatureCollection
中的每个多边形上生成所述坐标,并添加代表每个要素名称的 symbol
图层以及生成的坐标。
关于Mapbox gl绘制将名称添加到多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60103912/