TouchUI使用echarts显示中国地图

Touch UI是一套完全免费的高质量移动端UI框架。
基于vue.js框架,精心打造了上百种的移动端UI组件,可以轻松开发webApp、微信公众号、钉钉微应用等。

Touch UI是使用Visual Studio Code工具开发。
这里通过引入echarts.min.js和china.json方式显示map。
首页在page.ui里面引入

<template>
  <ui-page style="top:0px;">
  <ui-view ref="chinaMap"></ui-view>
  </ui-page>
</template>
<script>

import * as echarts from '#/static/utils/echarts.min'
import china from 'static/json/china.json'
export default {
 },
  data() {
    return {
    	areaData:null
     }
  },
  methods: {
  showMap(){
  	let dataList = []
      let obj = null
      this.areaData.forEach(item=>{
        obj = new Object()
        obj.name = item.regionName
        obj.value = item.regionAmount
        dataList.push(obj)
      })

      let option = {
            tooltip: {
                    formatter:function(params){
                        return params.name+'<br/>'+(isNaN(params.value) ? 0 : params.value)
                    }
                },
            visualMap: {
                min: 0,
                max: 4000000,
                left: 'left',
                top: 'bottom',
                text: ['高','低'],
                inRange: {
                    color:['#dbf4ff','#ccedfb','#b2e2f5','#78c9e8']
                },
                show:false
            },
            geo: {
                map: 'china',
                roam: true,
                zoom:1.23,
                label: {
                    normal: {
                        show: true,
                        fontSize:'10',
                        color: '#666666'
                    }
                },
                itemStyle: {
                    normal:{
                        //区域边框宽度
                      borderWidth: 0,
                      //区域边框颜色
                      borderColor: 'rgba(0, 0, 0, 0.2)',
                      //区域颜色
                      areaColor: "#ffefd5"
                    },
                    emphasis:{
                        areaColor: '#F3B329',
                        shadowOffsetX: 0,
                        shadowOffsetY: 0,
                        shadowBlur: 20,
                        borderWidth: 0,
                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                    }
                }
            },
            series : [
                {
                    type: 'map',
                    geoIndex: 0,
                    data:dataList
                }
            ]
        }
        echarts.registerMap('china', china)
        let chinaMap = echarts.init(this.$refs.chinaMap)
        chinaMap.setOption(option)
  },
   //页面DOM元素挂载完毕
  mounted() {
    //由于Vue DOM更新是异步执行的,即修改数据时,视图不会立即更新,而是会监听数据变化,
    //并缓存在同一事件循环中,等同一数据循环中的所有数据变化完成之后,再统一进行视图更新。
    //为了确保得到更新后的DOM,所以设置了 Vue.nextTick()方法。
    this.$nextTick(() => {
      this.showMap()
    })
  }
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值