Я пытаюсь создать карту, которая позволяет пользователям выбирать значки для своих точек геоджсона. Я просто хочу использовать стили карты по умолчанию (улицы|на открытом воздухе|свет|темно|спутник) и значки Maki, однако не все значки отображаются во всех стилях.
Например, «велосипед» и «кафе» отображаются на всех стилях карты, «круг» отображается только на спутнике, а «маркер» не отображается ни на одном из них.
В стиле, который я разработал для другой цели, все маркеры отображаются нормально, хотя я знаю, что не делал ничего особенного, чтобы «добавить» их в стиль.
Итак, мой код не проблема, мой вопрос о наличии иконок маки на стилях по умолчанию. Я думал, что они все будут доступны для всех стилей, но, похоже, это не так.
Как узнать, какие значки будут работать во всех стилях по умолчанию (за исключением проб и ошибок)? Есть ли способ «включить» все значки в стиле?
В противном случае, если мне придется создавать свои собственные версии базовых стилей, я думаю, что смогу, но как мне убедиться, что все значки загружены в стиль?
Стандартные стили Mapbox достаточно оптимизированы и не содержат ничего, что не требуется для их отображения. Таким образом, значки, которые не используются в самом стиле, не включаются.
Когда вы создаете новый стиль, я думаю, что Mapbox по умолчанию включает в себя весь набор Maki.
Если вы можете напрямую изменить файл стиля (JSON), попробуйте изменить эту строку (для стиля Mapbox Streets):
"sprite": "mapbox://sprites/mapbox/streets-v9",
на эквивалент в одном из ваших пользовательских стилей, например:
sprite": "mapbox://sprites/woowoowoo/htd32t6hd236t",
Но это может вызвать проблемы, если в Mapbox Streets есть значки, которые не соответствуют вашему стилю.
Короче говоря, я не думаю, что есть простой способ добавить «все значки». Каждый стиль имеет свой набор иконок.
Лучшим способом может быть использование addImage
/loadImage
для загрузки нужных пользовательских значков во время выполнения. См. этот пример.
Спасибо, Стив, я как бы ожидал того же с точки зрения стилей, имеющих только подмножество значков. Похоже, что некоторые значки доступны во всех стилях. Думаю, мне просто нужно построить небольшой испытательный стенд, чтобы использовать это. Пользовательские значки - это еще одна ветвь того, что я планирую - еще не совсем готово :-)