2017-02-19 17 views
0

У меня есть слой на карте, как показано ниже;Добавление изображений URL в mapbox GL JS Слои

map.addLayer({ 
    "id": "places-drink", 
    "type": "symbol", 
    "source": "places", 
    "filter": ["all", ["==","Venues","TRUE"],['==','Type','drink']], 
    "layout": { 
      "icon-image": "bar-15", 
      "icon-allow-overlap": true, 
      "icon-size": 1.3 
    }, 
}); 

и я хочу вместо использования значков картона использовать локальное изображение. Как мне это сделать?

+0

Другой подход, который может быть проще в некоторых случаях использовать [Маркеры] (https: //www.mapbox. com/mapbox-gl-js/api/# Marker), а не значки. Большая разница, на мой взгляд, заключается в том, что с маркерами не избежать столкновений - они всегда просто застряли на вершине всего остального. –

ответ

1

Свойство символов слоями символов использует лист спрайтов стиля для хранения значков.

Есть несколько вариантов, которыми вы можете изменить лист спрайтов для вашего стиля карты, чтобы включить пользовательские изображения. Если вы хотите использовать локальные файлы, вам необходимо использовать инструмент, например spritezero, чтобы собрать лист спрайтов из ваших изображений, а затем установить URL-адрес sprite вашего стиля в расположение созданного вами каталога спрайтов.

Вы также можете загрузить свои пользовательские изображения в стиле, используя mapbox.com/studio/ Редактор стилей. Вот руководство о том, как сделать это: https://www.mapbox.com/help/custom-images/

Отказ от ответственности - Я работаю в MapBox

+0

Хорошо, спасибо, как мне настроить URL-адрес спрайта моего стиля? –

+0

на данный момент у меня есть следующее в моем стиле. Json; «спрайт»: «markers.json», однако это не работает. –

+0

mapbox-gl-js не поддерживает относительные URL-адреса, поэтому вам нужно будет указать полный путь к файлу или URL-адрес. также он должен указывать на каталог, который включает спрайт-листы (регулярное и разрешение сетчатки) и json-файл – mollymerp