0

我一直在互联网上搜索,但没有找到答案。我正在尝试使用 Echarts for React 制作地图。我想更新缩放地图(georoam)以显示较小的区域。例如,在 zoom=1 时将显示省份,在 zoom=3 时地图将显示区域等等。事件侦听器 georoam 不会返回正确的当前缩放值。如果我放大它返回 1.1,如果我只缩小 0.9。所以我试图手动计算和设置缩放,但地图不能正常工作,它只放大到中心,我根本无法移动它。所以也许你知道一些好的解决方案。下面我粘贴我的 georoam 函数的代码

const onGeoRoam = (params) => {
    if(params.zoom){
        if (params.zoom >= 1.1){
            setZoom(zoom+0.1)
        }else if(zoom >= 3 && params.zoom >= 1.1){
            setZoom(zoom+1)
        }else {
            setZoom(zoom-0.1)
        }

        if(zoom >= 2 && zoom < 3){
            setMap('regions')
        }else if(zoom >= 3 && zoom < 4){
            setMap('subregions')
        }else if(zoom >= 4 && zoom < 5){
            setMap('districts')
        }else if(zoom >= 5){
            setMap('municipalities')
        }else{
            setMap('provinces')
        }
    }

    setOption({
        tooltip: tooltip,
        series: [
            {
                name: "World PopEstimates",
                type: "map",
                roam: true,
                map: map,
                selectedMode: 'single',
                zoom: zoom,
                emphasis: emphasis,
                scaleLimit: {min: 1, max: 10},
                aspectScale: "1.1",
                itemStyle: itemStyle,
             },
        ],
    })
}

我将非常感谢您的帮助

4

0 回答 0