Javascript 地图框:在页面顶部向上滚动时激活缩放;缩小地图时向下移动页面

Javascript 地图框:在页面顶部向上滚动时激活缩放;缩小地图时向下移动页面,javascript,mapbox-gl-js,Javascript,Mapbox Gl Js,我想mapbox有控制滚轮时,页面是滚动到顶部,用户不断向上滚动 用于向下滚动:当地图被放大(向下滚动)时,我希望控制滚轮返回浏览器,以便它们可以向下滚动(直到它们再次滚动回顶部) 也许有更好的办法 现在它有点工作,但它是有缺陷的,我不知道如何改进它 这就是我到目前为止所做的: map.on('zoomstart', () => { if (10 < window.scrollY) map.scrollZoom.disable() }) m

我想mapbox有控制滚轮时,页面是滚动到顶部,用户不断向上滚动

用于向下滚动:当地图被放大(向下滚动)时,我希望控制滚轮返回浏览器,以便它们可以向下滚动(直到它们再次滚动回顶部)

也许有更好的办法

现在它有点工作,但它是有缺陷的,我不知道如何改进它

这就是我到目前为止所做的:


    map.on('zoomstart', () => {
        if (10 < window.scrollY) map.scrollZoom.disable()
    })

    map.on('idle', () => {
        if (window.scrollY <= 10) map.scrollZoom.enable()
    })


    map.on('zoomend', async () => {
        const [[s, w], [n, e]] = map.getBounds().toArray()

        if ((w < -179.9 && 179.9 < e) || (s < -73.9 && 82.9 < n)) {
            window.scrollTo({ top: window.scrollY + window.innerHeight * 0.1 })
            map.fitBounds(
                [
                    [170, 25],
                    [-170, 25],
                ],
                { animate: false },
            )
        }
    })

map.on('zoomstart',()=>{
if(10{
如果(window.scrollY{
常量[[s,w],[n,e]]=map.getBounds().toArray()
如果((w<-179.9&&179.9
这样效果更好

map.on('zoom',()=>{
常量[[w,s],[e,n]]=map.getBounds().toArray()
如果((w<-179.9&&179.9
ref