Mapbox GL Draw добавить имя для многоугольника - PullRequest
0 голосов
/ 07 февраля 2020

Я играю с mapbox, и одна из вещей, которые я пытаюсь выяснить, - это как задать имя для полигона, который я только что создал. У меня есть коллекция объектов, и для каждой функции у меня есть имя, но я не могу понять, как отобразить имя на многоугольнике.

1 Ответ

0 голосов
/ 24 апреля 2020

В общем, если вы хотите отображать объекты Geo JSON вместе с метками на карте Mapbox GL JS, вам необходимо добавить два слоя на карту со ссылкой на источник Geo JSON. Один слой будет иметь тип fill для отображения самих полигонов, а другой будет иметь тип symbol для отображения текста для меток.

В этом примере показано, как добавить слой symbol с text-field s, содержащий имена объектов Point в источнике Geo JSON. Если у вас есть координаты для каждого многоугольника, где вы хотите, чтобы имя отображалось, вы можете следовать этому примеру, чтобы добавить имена после добавления ваших многоугольников со слоем fill.

В противном случае вам нужно будет вычислить координаты центроида каждого многоугольника, где вы хотите добавить имена. Для этого вы можете использовать метод Turf centroid на каждом полигоне в FeatureCollection, чтобы сгенерировать указанные координаты и добавить слой symbol, представляющий имя каждого объекта с результирующими координатами.

...