<script type="text/javascript">

var vue = new Vue({

el:'#app',

data:{

function () {

return {

provinces: {

//23个省

"台湾": "taiwan",

"河北": "hebei",

"山西": "shanxi",

"辽宁": "liaoning",

"吉林": "jilin",

"黑龙江": "heilongjiang",

"江苏": "jiangsu",

"浙江": "zhejiang",

"安徽": "anhui",

"福建": "fujian",

"江西": "jiangxi",

"山东": "shandong",

"河南": "henan",

"湖北": "hubei",

"湖南": "hunan",

"广东": "guangdong",

"海南": "hainan",

"四川": "sichuan",

"贵州": "guizhou",

"云南": "yunnan",

"陕西": "shanxi1",

"甘肃": "gansu",

"青海": "qinghai",

//5个自治区

"新疆": "xinjiang",

"广西": "guangxi",

"内蒙古": "neimenggu",

"宁夏": "ningxia",

"西藏": "xizang",

//4个直辖市

"北京": "beijing",

"天津": "tianjin",

"上海": "shanghai",

"重庆": "chongqing",

//2个特别行政区

"香港": "xianggang",

"澳门": "aomen"

}

}

}

},

mounted() {

let provinces = this.provinces

//地图容器

var chart = echarts.init(document.getElementById('main'));

//34个省、市、自治区的名字拼音映射数组

//直辖市和特别行政区-只有二级地图,没有三级地图

var special = ["北京","天津","上海","重庆","香港","澳门"];

var mapdata = [];

//绘制全国地图

$.getJSON('static/map/china.json', function(data){

d = [];

for( var i=0;i<data.features.length;i++ ){

d.push({

name:data.features[i].properties.name

})

}

mapdata = d;

//注册地图

echarts.registerMap('china', data);

//绘制地图

this.renderMap('china',d);

});

//地图点击事件

chart.on('click', function (params) {

console.log( params );

if( params.name in provinces ){

//如果点击的是34个省、市、自治区,绘制选中地区的二级地图

$.getJSON('static/map/province/'+ provinces[params.name] +'.json', function(data){

echarts.registerMap( params.name, data);

var d = [];

for( var i=0;i<data.features.length;i++ ){

d.push({

name:data.features[i].properties.name

})

}

this.renderMap(params.name,d);

});

}else if( params.seriesName in provinces ){

//如果是【直辖市/特别行政区】只有二级下钻

if(  special.indexOf( params.seriesName ) >=0  ){

this.renderMap('china',mapdata);

}else{

//显示县级地图

$.getJSON('static/map/city/'+ cityMap[params.name] +'.json', function(data){

echarts.registerMap( params.name, data);

var d = [];

for( var i=0;i<data.features.length;i++ ){

d.push({

name:data.features[i].properties.name

})

}

this.renderMap(params.name,d);

});

}

}else{

this.renderMap('china',mapdata);

}

});

//初始化绘制全国地图配置

var option = {

backgroundColor: '#000',

title : {

text: 'Echarts3 中国地图下钻至县级',

subtext: '三级下钻',

link:'http://www.ldsun.com',

left: 'center',

textStyle:{

color: '#fff',

fontSize:16,

fontWeight:'normal',

fontFamily:"Microsoft YaHei"

},

subtextStyle:{

color: '#ccc',

fontSize:13,

fontWeight:'normal',

fontFamily:"Microsoft YaHei"

}

},

tooltip: {

trigger: 'item',

formatter: '{b}'

},

toolbox: {

show: true,

orient: 'vertical',

left: 'right',

top: 'center',

feature: {

dataView: {readOnly: false},

restore: {},

saveAsImage: {}

},

iconStyle:{

normal:{

color:'#fff'

}

}

},

animationDuration:1000,

animationEasing:'cubicOut',

animationDurationUpdate:1000

};

},

methods: {

renderMap(map,data){

option.title.subtext = map;

option.series = [

{

name: map,

type: 'map',

mapType: map,

roam: false,

nameMap:{

'china':'中国'

},

label: {

normal:{

show:true,

textStyle:{

color:'#999',

fontSize:13

}

},

emphasis: {

show: true,

textStyle:{

color:'#fff',

fontSize:13

}

}

},

itemStyle: {

normal: {

areaColor: '#323c48',

borderColor: 'dodgerblue'

},

emphasis: {

areaColor: 'darkorange'

}

},

data:data

}

];

//渲染地图

chart.setOption(option);

}

}

});

</script>

vue 引入json地图_vue中引入地图的js文件,显示echarts is not loaded相关推荐

  1. Vue中通过配置eslintrc.js文件来解决编译时出现的no-trailing-spaces、no-undef等错误

    错误信息: D:\work\vue\workbench\src\views\login\index.vue12:10 warning 'Options' is defined but never us ...

  2. 从零开始开发一个vue组件打包并发布到npm (把vue组件打包成一个可以直接引用的js文件)

    自己写的组件 有的也挺好的,为了方便以后用自己再用或者给别人用,把组件打包发布到npm是最好不过了,本次打包支持 支持正常的组件调用方式,也支持Vue.use, 也可以直接引用打包好的js文件, 配合 ...

  3. vue传中文标点_vue项目引入第三方高德地图实现标点定位

    vue项目中,高德地图使用. 引入vue中.异步导入vue中. gaoDe(key) { window.onApiLoaded = function () { var map = new AMap.M ...

  4. vue项目 在style标签中引入css,less,sass的方法

    vue项目 style标签引入 less sass less和sass需要安装相应的依赖 package.json 中加上 并再次npm install 重启项目 "less": ...

  5. vue 引入外部less_Vue项目中引入外部文件的方法(css、js、less)

    这两天学习了Vue.js ,正好了解了如何引入外部文件的方法,而且很重要,所以,今天添加一点小笔记. 例子中css文件采用bootstrap.css,js文件采用jQuery,less文件用less. ...

  6. Android去掉百度地图sdk中卫星地图里的白色道路

    最近开发一个APP,需要去掉百度地图sdk中的卫星地图里面的白色道路,没有去掉之前: 如上图各种白色道路割裂了卫星地图进行图层绘制的时候不太美观,于是就百度了如何去掉道路,并且也提交了工单询问百度地图 ...

  7. vue上传录音_vue中添加mp3音频文件的方法

    有的时候我们需要在vue中添加音频文件,但是直接将音频文件放置了assets目录下的时候,会发现并不能正常播放,下面是两种常用的配置方法: 方法一.将音频文件放置在static目录中,然后进行调用,如 ...

  8. vue修改meta值_vue中动态设置meta标签和title标签的方法

    vue中动态设置meta标签和title标签的方法 因为和原生的交互是需要h5这边来提供meta标签的来是来判断要不要显示分享按钮,所有就需要手动设置meta标签,标题和内容 //router内的设置 ...

  9. vue 数组对象提取_vue中使用对象数组的最佳实践

    前言: 在平常的开发中,经常会在vue中用到对象数组,如渲染一个小区的列表,数据结构可能如下所示: CommunityList: [ { _id: '', community_code: '', co ...

最新文章

  1. 简单实现ibatis的物理分页
  2. 怎么撤回操作_微信又更新,拍一拍能撤回了
  3. java右移位_java 、移位操作方法
  4. 监督学习 | 朴素贝叶斯之Sklearn实现
  5. 斗地主AI算法——第四章の权值定义
  6. QQ版本更新 除了一起听歌现在还能一起看球赛了
  7. 防止开源的加拉帕戈斯综合症,系统软件和开源都是手段不是目的
  8. LeetCode-185 : sql分组排序再取前几位
  9. 哪个邮箱好用?!TOM邮箱品牌测评分析
  10. 【蓝桥杯】真题训练 2014年C++A组 题4 史丰收速算
  11. buuctf easyphp
  12. java国际化程序_Java 国际化标准程序实现
  13. 关于图像模式识别的几种分类方法概述
  14. 家用计算机cpu,家用电脑低功耗CPU推荐
  15. 图标、协同办公等新素材上线,100%实用!
  16. 表达式计算器 java代码_Java实现简单的表达式计算器功能示例
  17. NOIP2008 ISBN号码(一桶水)【A005】
  18. Bootloader的启动与功能
  19. layui表格重载后界面闪动解决方案
  20. 重庆印象-大礼堂广场

热门文章

  1. Bottom Halves and Deferring Work [LKD 08]
  2. pdf编辑器中文版哪个好用
  3. 使用Google AdWords关键字工具
  4. docker run 的基本用法
  5. 用Python实现电脑手机文件互传秒完成
  6. eclipse里调用接口库时出现了错误 Undefined reference to
  7. 十大布局智慧城市生态的跨国巨头
  8. 【Linux 内核 内存管理】物理内存组织结构 ④ ( 内存区域 zone 简介 | zone 结构体源码分析 | zone 结构体源码 )
  9. 无意中又喜获一本好书——《操作系统真相还原》——郑钢 著
  10. 对计算机课程设计的认识,编译原理课程设计心得体会范文