Mapbox GL AddLayer: звідки беруться зображення значків


10

Багато прикладів завжди завантажують зображення піктограми так (наприклад, тут: 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в джерело? Приклад не дуже добре зафіксований.


Ви перевірили розділ «посилання на стиль» в документах API?
Тангнар

3
На мій погляд, це не дуже добре пояснено. Я хотів би побачити добре пояснений робочий приклад.
tobias47n9e

Відповіді:


13

Якщо ви слідуєте прикладам, ви отримуєте лише спрайт, які завантажуються з спрайтового аркуша вашого конкретного стилю, який НЕ НЕОБХІДНО співпадає з будь-яким іншим стилем.

Наприклад: у smarald-v8 немає "icon-image": "гавань-15", як у прикладі, що використовує вулиці-v8.

Щоб переглянути список доступних спрайтів із відповідних стилів: https://github.com/mapbox/mapbox-gl-styles/tree/master/sprites

Я можу вибрати піктограму "гавані" зі свого сховища смарагду-v8 таким чином:

map.addLayer({
    "id": "pointclick",
    type: 'symbol',
    source: 'pointclick',
    "layout": {
        "icon-image": "harbor_icon",
        "icon-size":1.5
    },
    "paint": {}
});

Ось ресурс, який допоміг мені зібрати все це разом, і він пояснює, як створити власні іконки: https://www.mapbox.com/help/custom-markers/#locate-mapbox-styles-images

Редагувати:

В основному, щоб додати одну із власних іконок, зайдіть у студію Mapbox, створіть свій власний стиль або відредагуйте один із них. Просто додайте один із ваших власних SVG-файлів, тоді ця ікона стане доступною вам у вашому користувальницькому спрайтовому аркуші.введіть тут опис зображення



0

Як сказано в спрайт-документах : Перейдіть "sprite": "https://link"до свого стилю, де linkпосилання на json, породжене spritezero-cli . spritezero-cli сформований png спрайт зі списку ваших іконок у форматі SVG. Що ви можете використовувати піктограми в шарах символів як 'icon-image'.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.