Подпись линии
С помощью источника данных GeoJSON и Редактора стилей вы можете добавить собственную подпись к линии на карте.
Чтобы добавить подпись, подключите источник данных и создайте стилевой слой c типом Подпись линии:
-
Подключите источник данных с помощью класса GeoJsonSource. В качестве
geometryв данных укажите объект типаLineStringс координатами линии:const data = {type: 'Feature',properties: {foo: 'bar',text: 'Текст над линией',},geometry: {type: 'LineString',coordinates: [[37.598234, 55.758432],[37.631876, 55.778654]],},};const source = new mapgl.GeoJsonSource(map, {data,});Укажите параметры:
foo— уникальное свойство линии. Используйте для связи источника данных GeoJSON со стилевым слоем в Редакторе стилей, в котором будут задаваться настройки подписи.text— текст подписи над линией.coordinates— координаты линии.
-
Откройте Редактор стилей.
-
В блоке Мои стили откройте стиль, который используется для карты.
-
В разделе Слои нажмите значок
.
-
Выберите тип слоя Подпись линии.
-
Укажите нужные настройки подписи линии: шрифт, цвет текста и другие.
-
Свяжите созданный источник данных GeoJSON со слоем. Для этого откройте блок Данные, нажмите JSON — добавить вручную и укажите уникальное свойство линии
foo, которое вы указали в данных для линии:["==",["get","foo"],"bar"]
-
Свяжите атрибут
textиз источника данных GeoJSON со слоем. Для этого откройте блок Стиль и в поле Текст укажите:- Тип: Get-выражение.
- Атрибут, содержащий текстовую подпись:
text.
-
Чтобы подписи карты не перекрывали подпись линии, добавьте её в отдельную группу лейблинга:
-
Нажмите Настройки в верхнем меню и нажмите Открыть группы лейблинга.
-
Создайте новую группу, например
line. Добавьте эту группу и группу по умолчанию (default) в поле Создание перекрытия групп лейблинга:
-
Перейдите в настройки слоя. Откройте блок Стиль и в поле Группа лейблинга выберите созданную группу лейблинга:
-
Данные, которые вы добавляете на карту через GeoJSON, не отображаются в Редакторе стилей. Чтобы проверить отображение подписи на карте, после создания и настройки слоя с линией опубликуйте стиль и посмотрите изменения в онлайн-редакторе, например CodePen.