我使用下面的代码在我的地图上创建了一个标记实例,但是我无法弄清楚如何更新位置。我在SO上得到了帮助,并试图查看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 is not a function
我做错了什么?
您没有定义marker1
变量。你必须这样做。确保您定义的marker1
变量的作用域是相同的方法是
let marker1 = new mapboxgl.Marker(el)
.setLngLat([-99, 30])
.addTo(map);
那么你的方法setMarker
将工作