eacharts中國地圖省市區點擊顯示

1.安裝echarts.js 相關模塊

npm i echarts

2. 在 main.js 文件中搭建全局

// 引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts

在這里插入圖片描述

3.vue文件種引入相關文檔

import echarts from "echarts";
import "./china.js"; // 引入中國地圖數據

4.隔離相關文檔

在 node_modules 文件中查找到 eacharts 下的 map 文件 并隔離
在這里插入圖片描述
在這里插入圖片描述

4.搭建vue文件

<template><div class="g-home relative"><div id="map" ref="myEchart" @click="showChinaMap"></div></div>
</template><script>
import echarts from "echarts";
// import $ from "jquery"
import "./china.js"; // 引入中國地圖數據
import Provinces  from "../../static/province/shanghai.json"; // 引入中國地圖數據
export default {data() {return {provinces: ["shanghai","hebei","shanxi","neimenggu","liaoning","jilin","heilongjiang","jiangsu","zhejiang","anhui","fujian","jiangxi","shandong","henan","hubei","hunan","guangdong","guangxi","hainan","sichuan","guizhou","yunnan","xizang","shanxi1","gansu","qinghai","ningxia","xinjiang","beijing","tianjin","chongqing","xianggang","aomen","taiwan",],provincesText: ["上海","河北","山西","內蒙古","遼寧","吉林","黑龍江","江蘇","浙江","安徽","福建","江西","山東","河南","湖北","湖南","廣東","廣西","海南","四川","貴州","云南","西藏","陜西","甘肅","青海","寧夏","新疆","北京","天津","重慶","香港","澳門","臺灣",],map: {},province: "", //記錄進入的省級地圖名稱};},mounted() {this.$nextTick(() => {//使用vue.$nextTick()方法可以dom數據更新后延遲執行this.initMap();});},methods: {//地圖參數配置getMapOpt(place) {let option = {// 進行相關配置title: {text: "全國范圍內進入城市險帶來的潛在理賠量",left: "center",top: 30,textStyle: { fontSize: 20 },},tooltip: {}, // 鼠標移到圖里面的浮動提示框dataRange: {show: false,min: 0,max: 1000,text: ["High", "Low"],realtime: true,calculable: true,color: ["#2846FF"],},geo: {// 這個是重點配置區map: place ? place : "china", // 表示中國地圖roam: true,label: {normal: {show: true, // 是否顯示對應地名textStyle: {color: "#fff",},},},// 移動時效果itemStyle: {normal: {color: "#EFF3FB", //地圖背景色borderColor: "#fff", //地圖邊界線顏色textStyle: {color: "#000", //字體色},},emphasis: {areaColor: "#87CEFA",shadowOffsetX: 0,shadowOffsetY: 0,shadowBlur: 20,borderWidth: 0,shadowColor: "#fff",},},},series: [{type: "scatter",coordinateSystem: "geo", // 對應上方配置},{name: "客戶數量", // 浮動框的標題type: "map",geoIndex: 0,data: [{name: "上海",value: 100,},{name: "浦東新區",value: 100,},{name: "浙江",value: 142,},], //如果有業務數據,就按該格式綁定到這里},],};return option;},//用于在省級地圖,點擊空白處返回全國地圖,這里要根據自己的業務數據來判斷是否返回showChinaMap() {this.map.dispose();this.initMap();},//顯示各省地圖getProvinceMap(province) {echarts.registerMap("ditu", require(`../../static/province/${province}.json`)); //注冊省級地圖this.initMap("ditu");},initMap(place) {this.map = echarts.init(document.getElementById("map"));window.onresize = this.map.resize;let option = this.getMapOpt(place);if (option && typeof option === "object") {this.map.setOption(option, true);}this.map.on("click", (param) => {event.stopPropagation(); // 阻止冒泡// 找到省份名let provinceIndex = this.provincesText.findIndex((x) => {return param.name === x;});if (provinceIndex === -1) {// 沒找到省份名,代表進入到了市圖層,這里可以放業務代碼return;} else {this.map.dispose();this.province = this.provinces[provinceIndex];// 重新渲染各省份地圖this.getProvinceMap(this.province);}});},},
};
</script><style lang="less">
.g-home {height: 100%;overflow: hidden;opacity: 1;background: #ffffff;border-radius: 16px;box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.1);#map {width: 100%;height: 100%;background: #fff;border-radius: 4px;border: 1px solid #ebeef5;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);}
}
</style>

文件下載路徑 :https://download.csdn.net/download/weixin_44694682/18612280

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247831.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CF2B The least round way(貪心+動規)

題目 CF2B The least round way 做法 后面\(0\)的個數&#xff0c;\(2\)和\(5\)是\(10\)分解質因數 則把方格中的每個數分解成\(2\)和\(5\)&#xff0c;對\(2\)和\(5\)求兩邊動規&#xff0c;得出最小值\(ansmin(num_2,num_5)\) 我們貪心地選擇最小值所對應的\(2\)或\(5\)&…

JS 中的return false的作用

在大多數情況下,為事件處理函數返回false,可以防止默認的事件行為. Return False 就相當于終止符,終止默認的事件行為&#xff0c;反之,Return True 就相當于執行符,執行終止默認的事件行為。 在js中return false的作用一般是用來取消默認動作的。比如你單擊一個鏈接除了觸發你…

中英翻譯(基于百度翻譯)

先來看效果圖 只做了簡單的在線翻譯&#xff0c;語音翻譯和圖片翻譯都要錢&#xff0c;哈哈 市面上有名氣的翻譯公司就是有道和百度了&#xff0c;有道嘗試了一下&#xff0c;分為API和SDK兩種&#xff0c;但是demo下載下來跑不了 百度的就是API&#xff0c;也很簡單&#xff0…

Vue中使用input簡易的上傳圖片

<div class"boximg"><div class"topimg"><!-- <img :src"filePath" width"200px" height"170px" /> --></div><div class"botimg" click"imgClick()">上傳logo<…

jQuery選擇器之層級選擇器

文檔中的所有的節點之間都是有這樣或者那樣的關系。我們可以把節點之間的關系可以用傳統的家族關系來描述&#xff0c;可以把文檔樹當作一個家譜&#xff0c;那么節點與節點直接就會存在父子&#xff0c;兄弟&#xff0c;祖孫的關系了。 選擇器中的層級選擇器就是用來處理這種關…

文件 圖片 上傳 及少許正則校驗

文件 & 圖片 上傳 及少許正則校驗 <template><div style"padding: 20px"><Row><Col span"24"><div><CFlex type"flex" justify"space-between" align"midlle"><div class"…

bootstrap-table.js如何根據單元格數據不同顯示不同的字體的顏色

在bootstrap-table.js里面列屬性 formatter就是用來格式化單元格的&#xff0c;其默認值是undefined 類型是function&#xff0c;function(value, row, index), value&#xff1a;該cell本來的值&#xff0c;row&#xff1a;該行數據&#xff0c;index&#xff1a;該行序號&am…

SVN_06導入項目文檔

把這個項目的文檔遷入到SVN Server上的庫中 【1】首先右鍵點擊projectAdmin目錄&#xff0c;這時候的右鍵菜單例如以下圖看到的&#xff1a;選擇copy URL toCLipboard,就是復制統一資源定位符&#xff08;URL&#xff09;到剪貼板中 https://KJ-AP01.中國.corpnet:8443/svn/pro…

實現省市二級聯動效果

實現效果&#xff1a; 代碼&#xff1a; <template><div class"main_tableau"><div class"page_title">百城精算編輯</div><CFlex type"flex" justify"space-between"><div style"margin-top…

jquery操作select(取值,設置選中)

jquery操作select(增加&#xff0c;刪除&#xff0c;清空) http://huapengpeng1989412.blog.163.com/blog/static/58828754201342841940720/ jQuery獲取Select選擇的Text和Value: 123456789$("#select_id").change(function(){//code...}); //為Select添加事件&am…

手機驗證碼獲取

<el-form-item label"短信驗證碼" required><el-input v-model"ruleForm.verificationcode" placeholder"請添加驗證碼"><el-button v-if"isdisabled" slot"suffix" style"color:#409EFF;" type&…

關于RGB屏調試的一些知識(轉)

關于RGB屏調試的一些知識轉載于:https://www.cnblogs.com/LittleTiger/p/10983212.html

在bootstrap table中使用Tooltip

//偏好主題function preferenceFormatter(value, row, index) {var nameString "";if (value.length > 6) {nameString value.substring(0,6) ...;} else{nameString value;}return [<a href"#" data-toggle"tooltip" title value >…

實現值兩者之間添加 , 、 | 等字符

展示效果&#xff1a; <span v-for"(item, index) in projectData.bdOwnerList" :key"index"><span style"white-space: nowrap">{{ item.userName }}<spanv-if"projectData.bdOwnerList.length - 1 ! index"style&qu…

spring-cloud搭建

1、myApplicaion 啟動服務類上層必須有一層包 2、報錯 com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect 或者com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known…

JS ===和==區別

這是一種隱式類型轉換 var a 12; var b 12; alert(a b);//先把兩邊的轉換成一樣的&#xff0c;再進行比較 。結果會返回true alert(a b);//不轉換兩邊類型&#xff0c;直接比較,結果返回false

單頁面輪播圖滾動

現在網上好多類似的效果&#xff0c;今天心情好&#xff0c;就私自模仿一個去&#xff0c;代碼如下。 單頁面網站 網站首頁公司簡介公司產品公司榮譽招聘英才聯系我們window.οnscrοllfunction(){ var scTopdocument.documentElement.scrollTop||document.body.scrollTop; va…

xBIM 基礎16 IFC的空間層次結構

系列目錄 【已更新最新開發文章&#xff0c;點擊查看詳細】 本篇介紹如何從文件中檢索空間結構。IFC中的空間結構表示層次結構的嵌套結構&#xff0c;表示項目&#xff0c;站點&#xff0c;建筑物&#xff0c;樓層和空間。如果您查看IFC文檔&#xff0c; 您會發現建筑物可以…

如何判斷兩個jq對象是同一個對象

如果說要判斷是否同一對象&#xff0c;當然是用 來判斷&#xff0c;但實際上兩個不同的 jQuery 對象可能是對同一個/組 DOM 對象的封裝&#xff0c;這個時候可以用 is 來判斷&#xff0c;比如 var a $(".editor"); var b $(".editor");console.log(a b…

狀態管理工具vuex的基本使用(vuebus的理解)

vuex的展示圖 1. vuex 的基本結構 const store new Vuex.Store({state: {} //相當于 vue結構中的 data getters: {}, // 相當于vue結構中的計算屬性使用actions: {}, // 相當于vue結構中的監聽屬性使用mutations: {},//相當于vue結構中的 methods 方法集合 &#xff08;其中方…