Значки маки не все отображаются - PullRequest
0 голосов
/ 08 апреля 2019

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

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

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

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

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

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

1 Ответ

2 голосов
/ 09 апреля 2019

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

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

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

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

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

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

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

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

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

...