Многие примеры всегда загружают изображение значка следующим образом (например, здесь: https://www.mapbox.com/mapbox-gl-js/example/geojson-markers/ ):
map.addLayer({
"id": "markers",
"type": "symbol",
"source": "markers",
"layout": {
"icon-image": "{marker-symbol}-15",
"text-field": "{title}",
"text-font": ["Open Sans Semibold", "Arial Unicode MS Bold"],
"text-offset": [0, 0.6],
"text-anchor": "top"
}
});
Где хранится этот значок и как я могу связаться с локальным PNG или SVG? Или как я могу поставить свой собственный markers
источник? Пример не очень хорошо задокументирован.
Ответы:
Если вы будете следовать примерам, вы получите только те спрайты, которые загружаются с таблицей спрайтов вашего конкретного стиля, что НЕ ОБЯЗАТЕЛЬНО соответствует 1: 1 с любым другим стилем.
Например: в emerald-v8 НЕТ «icon-image»: «harbour-15», как в примере с улиц-v8.
Чтобы увидеть список доступных спрайтов из соответствующих стилей: https://github.com/mapbox/mapbox-gl-styles/tree/master/sprites
Я могу выбрать значок "гавань" из их хранилища emerald-v8 следующим образом:
Вот ресурс, который помог мне собрать все это вместе, и он объясняет, как создавать свои собственные значки: https://www.mapbox.com/help/custom-markers/#locate-mapbox-styles-images
РЕДАКТИРОВАТЬ:
По сути, чтобы добавить один из ваших собственных значков, зайдите в Mapbox studio, создайте свой собственный стиль или отредактируйте один из них. Просто добавьте один из ваших собственных SVG-файлов, и этот значок станет вам доступен в вашем пользовательском спрайт-листе.
источник
Вы также можете использовать внешние / сгенерированные иконки, как
icon-image
если бы вы использовалиmap.loadImage()
иmap.addImage()
сначала.Примеры:
Добавить значок на карту
Добавить сгенерированный значок на карту
источник
Как сказано в документах sprite : перейдите
"sprite": "https://link"
к своему стилю, гдеlink
ссылка на json генерируется с помощью spritezero-cli . spritezero-cli генерирует png sprite из списка ваших иконок в формате svg. Что вы можете использовать иконки в символьных слоях как'icon-image'
.источник