【发布时间】:2020-06-10 14:39:08
【问题描述】:
我有一个 Mapbox 地图的问题,当地图缩小时,附加到标记的弹出窗口显示错误的位置,因此我们看到多个世界副本。请参阅下面的示例。当地图被放大并且只有一个世界可见时,弹出窗口会显示在正确的位置。
这是用于添加标记+弹出窗口并显示它们的代码的简化版本:
// Add markers to the map
features.forEach(function (marker: any, i: number) {
const popUpContent = '<div>Sample</div>'
// Create the popup
const popup = new mapboxgl.Popup({ offset: 25 })
.setHTML(popUpContent)
.on('open', function (event: any) {
const activePoi = document.getElementsByClassName(poiId)[0]
activePoi.classList.add('active')
})
.on('close', function () {
const activePoi = document.getElementsByClassName(poiId)[0]
if (activePoi) {
activePoi.classList.remove('active')
}
})
let mark = new mapboxgl.Marker(markerElement)
.setLngLat(marker.geometry.coordinates)
.setPopup(popup)
.addTo(map)
})
问题
我该如何解决这个问题,以便弹出窗口正确显示在它们各自的标记上方,即使多个世界副本可见?
【问题讨论】:
标签: javascript mapbox mapbox-gl-js