Mapbox GL AddLayer: Hình ảnh biểu tượng đến từ đâu


10

Rất nhiều ví dụ luôn tải hình ảnh biểu tượng như thế này (Ví dụ tại đây: 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"
    }
});

Biểu tượng này được lưu trữ ở đâu và làm cách nào tôi có thể liên kết với png hoặc svg cục bộ? Hoặc làm thế nào tôi có thể đặt của riêng tôi markersvào nguồn? Ví dụ này không được ghi chép nhiều.


Bạn đã kiểm tra phần 'tham chiếu kiểu' của tài liệu API chưa?
Tangnar

3
Nó không được giải thích tốt theo ý kiến ​​của tôi. Rất thích nhìn thấy một ví dụ làm việc được giải thích tốt.
tobias47n9e

Câu trả lời:


13

Nếu bạn làm theo các ví dụ, bạn chỉ nhận được các họa tiết tải với bảng sprite của phong cách cụ thể của bạn, điều này KHÔNG CẦN PHẢI so khớp 1-1 với bất kỳ kiểu nào khác.

ví dụ: emerald-v8 KHÔNG có "icon-image": "harbor-15" giống như ví dụ sử dụng đường phố-v8.

Để xem danh sách các họa tiết có sẵn từ các kiểu tương ứng: https://github.com/mapbox/mapbox-gl-styles/tree/master/sprites

Tôi có thể chọn biểu tượng "bến cảng" từ kho emerald-v8 của họ như vậy:

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

Đây là tài nguyên giúp tôi kết hợp tất cả lại với nhau và nó giải thích cách tạo biểu tượng của riêng bạn: https://www.mapbox.com/help/custom-markers/#locate-mapbox-styles-images

BIÊN TẬP:

Về cơ bản, để thêm một trong các biểu tượng của riêng bạn, hãy vào studio Mapbox, tạo phong cách của riêng bạn hoặc chỉnh sửa một trong các biểu tượng của chúng. Chỉ cần thêm một trong các SVG của riêng bạn, sau đó biểu tượng đó sẽ có sẵn cho bạn vào bảng sprite tùy chỉnh của bạn.nhập mô tả hình ảnh ở đây



0

Như đã nói trong tài liệu sprite : Chuyển "sprite": "https://link"đến phong cách của bạn, nơi linkliên kết đến json được tạo ra với spritezero-cli . spritezero-cli đã tạo png sprite từ danh sách các biểu tượng của bạn ở định dạng svg. Rằng bạn có thể sử dụng các biểu tượng trong các lớp biểu tượng như 'icon-image'.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.