2016-04-26 4 views
2

В Mapbox.js вы можете указать изображение на маркер, есть ли способ сделать это с помощью Mapbox GL JS? Или это ограничивается одним спрайтом на карту? Маркер-спрайт может вырасти до размера, который медленно загружается.Несколько спрайтов спрайтов с помощью Mapbox gl js

Можно ли использовать сразу несколько спрайтов?

Также есть способ переключить спрайт после загрузки карты? Я попытался перезагрузить оригинальный стиль с помощью map.setStyle(), но пользовательские маркеры не появятся снова.

ответ

3

Во-первых, давайте удостоверимся, что мы находимся на той же странице, по терминологии:

  • «символ слоя особенность» (т.е. маркер) может отображать «значок» в на карте
  • А «спрайт» представляет собой сборник «иконками»
  • А «стиль» имеет один «спрайт»

В Mapbox.js вы можете указать изображение на маркер, есть ли способ сделать это с помощью Mapbox GL JS?

Каждая функция «символьного слоя» внутри слоя может отображать разные «значки», используя «токены». Это mentioned in our documentation.

Если «функция символа слоя» имеет icon свойства, вы можете функцию использовать этот значок с

"symbol-icon": "{icon}" 

Можно ли использовать несколько спрайты сразу?

Вы не можете использовать сразу несколько спрайтов. Вы можете использовать несколько значков внутри слоя. Вы можете использовать несколько значков для функции, создавая несколько слоев символов.


также есть способ переключения спрайта после загрузки карты?

Нет, это невозможно с помощью Mapbox GL JS.

Смежные вопросы