Mapbox GL-JS:如何更新标记位置?

Mapbox GL-JS:如何更新标记位置?,mapbox,mapbox-gl-js,Mapbox,Mapbox Gl Js,我已经使用以下代码在地图上创建了一个标记实例,但我无法确定如何更新位置。我在这里得到了帮助,并且试图查看Mapbox文档,但没有用。这是我目前的代码: var el = document.createElement('div'); el.className = 'marker'; el.id = 'marker1'; el.style.backgroundImage ='url(images/marker.png)'; el.style.width = '10px'; el.style.heig

我已经使用以下代码在地图上创建了一个标记实例,但我无法确定如何更新位置。我在这里得到了帮助,并且试图查看Mapbox文档,但没有用。这是我目前的代码:

var el = document.createElement('div');
el.className = 'marker';
el.id = 'marker1';
el.style.backgroundImage ='url(images/marker.png)';
el.style.width = '10px';
el.style.height = '10px';

new mapboxgl.Marker(el)
.setLngLat([-99, 30])
.addTo(map);
以下是我的函数,它将更新标记在地图上的位置:

function setMarker()
{
    marker1.setLngLat([-93.50, 30]);
}
但是,调用函数时,控制台中仅出现以下错误:

marker1.setLngLat不是一个函数


我做错了什么?

您没有定义
marker1
变量。你必须这样做。确保定义的
marker1
变量的范围与方法相同

let marker1 = new mapboxgl.Marker(el)
.setLngLat([-99, 30])
.addTo(map);
然后您的方法
setMarker
将起作用