【发布时间】:2019-04-17 14:25:57
【问题描述】:
我正在尝试为我的 mapbox 应用程序创建自己的弹出窗口类型。但是,我试图将弹出窗口固定在屏幕底部,而不是悬停在标记上。我基本上想从处于活动状态的弹出窗口中获取信息,并将其放入地图之外的单独 HTML 元素中。或者手动设置弹出窗口的样式,使其始终固定在屏幕底部。
我尝试手动设置弹出窗口的样式,使其固定在屏幕底部,但似乎这是不可能的,因为地图框样式会在地图位置发生变化时自动重新定位弹出窗口。
for(var i = 0; i < currentArray.length ; i++){
var el = document.createElement('div');
var markerHeight = 50, markerRadius = 10, linearOffset = 25;
el.className = 'marker2';
new mapboxgl.Marker(el)
.setLngLat([currentArray[i].lng, currentArray[i].lat])
.addTo(map);
new mapboxgl.Marker(el)
.setLngLat([currentArray[i].lng, currentArray[i].lat])
.setPopup(new mapboxgl.Popup({ offset: 25, closeOnClick:true})
.setHTML('<h3>' + currentArray[i].name
+ '</h3>' + '<p>' + currentArray[i].venue + '</p>'))
.addTo(map);
}
上面的代码循环遍历列表元素的数组,并将它们绘制在地图上。我想找到一种方法来获取活动元素(即正在显示的弹出窗口)并将数组信息从中获取并放入 HTML 元素中。 非常感谢任何帮助!
【问题讨论】:
标签: javascript mapbox mapbox-gl-js