Mapbox GL JS 从默认标记更改颜色

fde*_*eau 7 mapbox mapbox-gl-js mapbox-marker

我开始失去理智。

根据Mapbox API,我应该能够更改默认标记颜色,但我在文档中没有找到任何不使用自定义标记的示例,并且最有可能的语法不起作用。

我在用 mapbox-gl-js/v0.44.2

var marker = new mapboxgl.Marker({ "color": "#b40219" })
                .setLngLat([0, 0])
                .addTo(map);
Run Code Online (Sandbox Code Playgroud)

使用此代码,地图显示时没有标记,如果我删除颜色选项,标记会正确显示,但颜色错误。

对我搞砸的地方有什么建议吗?

pat*_*per 6

使用默认标记 SVG 元素时可以支持自定义颜色v0.45.0,因为您正在使用v0.44.2.

发行说明:

https://github.com/mapbox/mapbox-gl-js/releases

  • 语法正确 `const mark = new mapboxgl.Marker({ "color": "#b40219" })` (5认同)

Max*_*Max 5

螺丝jQuery

setMarkerColor(marker, color) {
      let markerElement = marker.getElement();
      markerElement
        .querySelectorAll('svg g[fill="' + marker._color + '"]')[0]
        .setAttribute("fill", color);
      marker._color = color;
    },
Run Code Online (Sandbox Code Playgroud)