Я не могу найти нигде в документации Mapbox GL JS о том, как добавить простую метку к многоугольнику Geo JSON, поэтому я работаю над несколькими найденными мною примерами.
My Geo JSON имеет такую структуру:
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,
},
});
Проблема, с которой я столкнулся, заключается в том, что когда я добавляю text-field
к объекту layout
, слой вообще не отображается. Я искал документы Mapbox и здесь, но я не могу найти ванильный способ добавить простую метку.