19

mapbox-gl-js アイコン画像の色を変更する方法はありますか?

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"
    },
    "paint": {
        "text-size": 12,
        "icon-color" : "#ff0000"
    }
});

公式ドキュメントに記載されているすべてのオプションを試しました

4

4 に答える 4

8

答えが見つかりました。それが機能するには、特にsdfアイコンが必要です。

https://github.com/mapbox/mapbox-gl-js/issues/1594

Unfortunately we don't have a turnkey solution for generating sdf icons but you can see an example of how its done in the maki project

https://github.com/mapbox/maki/blob/mb-pages/sdf-render.js

@yurik による更新:上記のリンクは機能しなくなりました。おそらくhttps://github.com/mapbox/maki/blob/b0060646e28507037e71edf049a17fab470a0080/sdf-render.js

https://github.com/mapbox/mapbox-gl-js/issues/161

于 2015-12-25T01:19:35.830 に答える
0

png のアイコンの色を変更したい場合はsdf: true、画像を追加するときにこの追加の入力を追加するだけです。

また、ペイント プロパティ addlayer を設定します

"paint": {
   "icon-color": "#00ff00",
   "icon-halo-color": "#fff",
   "icon-halo-width": 2
   }

this.map.addImage("Id", iconUrl, { sdf: true });
于 2021-09-08T06:08:02.550 に答える