当地图处于最大缩放比例(可见多个世界副本)时,Mapbox会在错误的位置弹出]]

问题描述 投票:0回答:1

我在Mapbox地图上遇到问题,当缩小地图时,附加到标记的弹出窗口显示在错误的位置,因此我们可以看到多个世界副本。请参阅下面的示例。当地图放大并且只有一个世界可见时,弹出窗口会显示在正确的位置。

enter image description here

这是用于添加标记和弹出窗口并显示它们的代码的简化版本:

 // 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)
})

问题

我如何解决此问题,以便即使可见多个世界副本,弹出窗口也能正确显示在其各自的标记上方?

我在Mapbox地图上遇到问题,当缩小地图时,附加到标记的弹出窗口显示在错误的位置,因此我们可以看到多个世界副本。请参阅下面的示例。弹出窗口是...

javascript mapbox mapbox-gl-js
1个回答
0
投票

您可以对此使用Mapbox解决方案:https://docs.mapbox.com/mapbox-gl-js/example/popup-on-click/

© www.soinside.com 2019 - 2024. All rights reserved.