需求:
地圖下鑽時,由最初比例,以數值最高的位置為中心,放大地圖至1.5倍。
官方配置項:
series-map. zoom Number 控制當前視角的縮放比例
series-map. scaleLimit Object 滾輪縮放的極限控制
series-map.scaleLimit. max number 縮放最大值
series-map.scaleLimit. min number 縮放最小值
series-map. center Array 當前視角的中心點,用經緯度表示
獲取放大中心
需求限定地圖放大中心是數值最高省份的經緯度,也就是.json 文件中每個省份下的屬性 "cp",即地理位置
參考文章:series-mapECharts 地圖實現文字居中,即省份在對應地圖的中心位置
監聽縮放與拖曳事件
用到了echarts的georoam事件,官方文檔沒有看到這個事件,這個事件能監聽縮放與拖曳事件,話不多說直接上代碼
myChart.on('georoam', function (params) { // 控制台打印數據的名稱 console.log(params); });
georoam事件可以取到zoom值,但是是一個固定值,需要變通一下,通過getOption()方法取到當前zoom值,然后就可以通過判斷zoom值做你想要做的事了嘿嘿嘿(手動狗頭.),
當然代碼肯定是要進行優化的,不然要卡頓,因為georoam能同時響應縮放和拖曳。不過我這里代碼也勉強夠用了。
參考文章:實現echarts地圖監聽縮放事件效果