通过JavaScript以编程方式更改MapBox Marker的OFFSET

时间:2017-09-06 10:15:13

标签: javascript mapbox mapbox-gl-js

this question之后我昨天问过......

我正在将MapBox Markers添加到这样的数组中:

var el = document.createElement('div' + index);
el.className = 'marker';
deviceMarkers.push(new mapboxgl.Marker(el, { offset: [-50 / 2, -50 / 2] }).setLngLat([device.lat, device.lon]).addTo(map));

在代码的其他地方,我通过以下方式提取标记:

var deviceMarker = deviceMarkers[index];

我现在需要能够在javascript中以编程方式更改 deviceMarker 的偏移量,以确保图像仍然居中,因为div会根据缩放调整大小。

可以做到,如果有,怎么做?

1 个答案:

答案 0 :(得分:1)

使用当前的API无法做到这一点。我建议您只使用新偏移量和现有元素(即new mapboxgl.Marker(oldMarker.getElement(), ...)创建一个新标记,然后删除旧标记)