IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Echarts+Vue实现市级地图 -> 正文阅读

[JavaScript知识库]Echarts+Vue实现市级地图

要实现一个市级的地图 ,首先先获取地图的json数据,一般通过

DataV.GeoAtlas地理小工具系列由阿里云DataV数据可视化团队出品,多年深耕数据可视化领域,数据大屏业务开拓者和领航者。致力用震撼而清晰的视觉语言,让更多人读懂大数据,受惠数据驱动的决策方式。http://datav.aliyun.com/portal/school/atlas/area_selector这个网址去获取,它是阿里云的一个数据可视化平台,而地图数据是高德提供的。

一、获取JSON文件

1、打开http://datav.aliyun.com/portal/school/atlas/area_selector

?2、点击选择自己想要的区域,例如点击了广东省,就会有广东省的轮廓显示出来

?3、可以精确到市,这个时候就可以下载json文件,选择的区域是省级的就可以下载到选择的那个省份的json文件,市级的话就是对应的市的json文件

下载好的文件格式如下:

?

二、把JSON文件转换为js文件

1、新建js文件

2、把下面代码复制到js文件中

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

(function(root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['exports', 'echarts'], factory);
    } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
        // CommonJS
        factory(exports, require('echarts'));
    } else {
        // Browser globals
        factory({}, root.echarts);
    }
}(this, function(exports, echarts) {
    var log = function(msg) {
        if (typeof console !== 'undefined') {
            console && console.error && console.error(msg);
        }
    }
    if (!echarts) {
        log('ECharts is not Loaded');
        return;
    }
    if (!echarts.registerMap) {
        log('ECharts Map is not loaded')
        return;
    }
//注意,下面的内容要改成自己的
    echarts.registerMap('你选择的json文件的城市名字', "填入json文件里面的全部内容");
}));

?3、把第一个单引号的内容改成自己选择的城市,注意要一模一样,像我选择的是“惠州市”,就不能填“惠州”;第二个双引号要去掉,然后填入json文件里的所有内容,注意跟第一个引号不一样的是,这里的双引号要去掉

?三、代码实现

1.通过npm安装echarts(已经安装了的忽略这步)

npm install echarts --save

echarts官网地址Apache EChartshttps://echarts.apache.org/zh/index.html

2、在页面引进echarts和城市js文件

?

?3、完整代码

<template>
  <div id="huizhou-map" ref="mapBox" style="backgroup-color:#ffffff;" />
</template>
<script>
import * as echarts from 'echarts'
import '@/assets/huizhou'
export default {
  data() {
    return {
      chart: null,
      options: {}
    }
  },
  created() {
    this.options = {
      tooltip: {
        trigger: 'item'
      },
      title: {
        text: '惠州地图',
        x: 'center'
      },
      geo: { // 地图的显示信息
        map: '惠州市',
        roam: true,
        itemStyle: {
          normal: {
            areaColor: '#0d0059',
            borderColor: '#389dff',
            borderWidth: 1, // 设置外层边框
            shadowBlur: 5, // 阴影模糊度
            shadowOffsetY: 8,
            shadowOffsetX: 0,
            shadowColor: '#01012a'
          },
          emphasis: { // 鼠标移上去的hover效果
            areaColor: '#184cff',
            shadowOffsetX: 0,
            shadowOffsetY: 0,
            shadowBlur: 5,
            borderWidth: 0,
            shadowColor: 'rgba(0, 0, 0, 0.5)'
          }
        }
      },
      series: [
        {
          map: '惠州市',
          type: 'map',
          aspectScale: 0.9,
          roam: false,
          label: {
            show: true,
            textStyle: {
              color: '#fff',
              fontSize: 12
            }
          },

          itemStyle: {
            normal: {
              areaColor: '#0d0059',
              borderColor: '#389dff',
              borderWidth: 0.5
            },
            emphasis: {
              areaColor: '#17008d',
              shadowOffsetX: 0,
              shadowOffsetY: 0,
              shadowBlur: 5,
              borderWidth: 0,
              shadowColor: 'rgba(0, 0, 0, 0.5)'
            }
          }
        }
      ]
    }
  },
  mounted() {
    this.chart = echarts.init(this.$refs.mapBox)
    this.chart.setOption(this.options)
  },
  beforeDestroy() {
    if (!this.chart) {
      return
    }
    this.chart.dispose()
    this.chart = null
  }
}
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
  #huizhou-map{
    width: 800px;
    height: 800px;
    margin: 0 auto;
    background-color: #b6bad8;
}

</style>

四、实现效果图

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 00:43:36  更:2022-09-30 00:46:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 5:27:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码