2017-09-06 128 views
0

OFFSET MapBox标记从this question我问昨天继...编程方式更改通过JavaScript

我加入MapBox标记到一个数组,像这样:

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]; 

我现在需要能够改变deviceMarker偏移的以编程方式在JavaScript中确保图像仍然居中,因为div使用缩放调整大小。

可以这样做,如果是这样,如何?

+0

“标记偏移量”是什么意思? AFAIK没有任何东西被称为“偏移”与标记相关联,除了z-索引偏移量 – xmojmr

+0

它在第一个代码块中,队友:{偏移:[-50/2,-50/2]}我希望能够动态改变它。这是一个位置偏移,以便用于标记的图像居中。很明显,随着图像尺寸的变化,这一点必须改变。 – HomerPlata

+0

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

回答

1

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