2017-09-06 62 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(), ...),然後移除舊標記)

相關問題