我一直在互联网上搜索,但没有找到答案。我正在尝试使用 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,
},
],
})
}
我将非常感谢您的帮助