Не все значки Maki отображаются

Я пытаюсь создать карту, которая позволяет пользователям выбирать значки для своих точек геоджсона. Я просто хочу использовать стили карты по умолчанию (улицы|на открытом воздухе|свет|темно|спутник) и значки Maki, однако не все значки отображаются во всех стилях.

Например, «велосипед» и «кафе» отображаются на всех стилях карты, «круг» отображается только на спутнике, а «маркер» не отображается ни на одном из них.

В стиле, который я разработал для другой цели, все маркеры отображаются нормально, хотя я знаю, что не делал ничего особенного, чтобы «добавить» их в стиль.

Итак, мой код не проблема, мой вопрос о наличии иконок маки на стилях по умолчанию. Я думал, что они все будут доступны для всех стилей, но, похоже, это не так.

Как узнать, какие значки будут работать во всех стилях по умолчанию (за исключением проб и ошибок)? Есть ли способ «включить» все значки в стиле?

В противном случае, если мне придется создавать свои собственные версии базовых стилей, я думаю, что смогу, но как мне убедиться, что все значки загружены в стиль?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
820
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Стандартные стили Mapbox достаточно оптимизированы и не содержат ничего, что не требуется для их отображения. Таким образом, значки, которые не используются в самом стиле, не включаются.

Когда вы создаете новый стиль, я думаю, что Mapbox по умолчанию включает в себя весь набор Maki.

Если вы можете напрямую изменить файл стиля (JSON), попробуйте изменить эту строку (для стиля Mapbox Streets):

"sprite": "mapbox://sprites/mapbox/streets-v9",

на эквивалент в одном из ваших пользовательских стилей, например:

sprite": "mapbox://sprites/woowoowoo/htd32t6hd236t",

Но это может вызвать проблемы, если в Mapbox Streets есть значки, которые не соответствуют вашему стилю.

Короче говоря, я не думаю, что есть простой способ добавить «все значки». Каждый стиль имеет свой набор иконок.

Лучшим способом может быть использование addImage/loadImage для загрузки нужных пользовательских значков во время выполнения. См. этот пример.

Спасибо, Стив, я как бы ожидал того же с точки зрения стилей, имеющих только подмножество значков. Похоже, что некоторые значки доступны во всех стилях. Думаю, мне просто нужно построить небольшой испытательный стенд, чтобы использовать это. Пользовательские значки - это еще одна ветвь того, что я планирую - еще не совсем готово :-)

woowoowoo 10.04.2019 05:46

Другие вопросы по теме