最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue?echarts@4.x中國地圖及AMap相關(guān)API使用詳解

 更新時(shí)間:2023年12月13日 09:16:01   作者:安語未  
這篇文章主要為大家介紹了Vue使用echarts@4.x中國地圖及AMap相關(guān)API使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

一、此 demo 實(shí)現(xiàn)的基本功能

中國地圖的顯示

地圖點(diǎn)擊下鉆的功能

地圖相關(guān)組件的使用,例 tooltip...

二、實(shí)現(xiàn)思路

初始使用下載本地的中國 geo 格式的 json 數(shù)據(jù)來繪制地圖,點(diǎn)擊某一區(qū)劃(例:山東?。r(shí),以點(diǎn)擊的區(qū)劃名稱使用 AMap.DistrictSearch(opts) 構(gòu)造函數(shù)查詢下一級的區(qū)劃信息(例:青島市區(qū)劃 id 為 370200)和業(yè)務(wù)數(shù)據(jù)整合處理;然后以點(diǎn)擊的區(qū)劃 id 用AMapUI中的組件DistrictExplorer相關(guān)方法獲取下一級的地圖 json 數(shù)據(jù),繼而繪制下一級地圖(例:青島市),再點(diǎn)下同...

三、引入 echarts

因?yàn)?echarts 在 5.0 及之后版本因 包體積優(yōu)化和法規(guī)規(guī)定 取消了內(nèi)置 json 地圖數(shù)據(jù),但仍然可以下載之前版本的依賴包來使用或下載曾經(jīng)內(nèi)置的地圖數(shù)據(jù)。
若要引地圖 json 數(shù)據(jù),建議下載 echarts@4.9.0 ,這是 echarts 取消內(nèi)置前的最新版本地圖 json 數(shù)據(jù),之前的版本地圖數(shù)據(jù)比如 3.x,2.x 或多或少在地圖邊界和島嶼精度部分有所不準(zhǔn),親測~

  • 通過 npm 方式下載 echarts
    $ npm i echarts@4.9.0
  • 引入 echarts
    import echarts from 'echarts'

相關(guān) api 說明

  • echarts.registerMap
    echarts 方法:在 echarts 5.0 及之后版本取消了registerMap 此方法,所以最新 echarts(v5.2.2)版本引用會(huì)報(bào)錯(cuò),所以這里我使用 v4.9.0 來注冊地圖。
// registerMap 接收兩個(gè)參數(shù)
// 第一個(gè)是地圖名稱,china 為顯示右下角南海諸島,china1 則不顯示右下角南海諸島
// 第二個(gè)參數(shù)是繪制地圖所需的json數(shù)據(jù),在這里我下載了兩個(gè)版本的json數(shù)據(jù)放在本地引用來使用,見下文
echarts.registerMap('china', chinaJson)
  • echarts.init
    echarts 方法:創(chuàng)建一個(gè) ECharts 實(shí)例,返回 echartsInstance,不能在單個(gè)容器上初始化多個(gè) ECharts 實(shí)例。
// 創(chuàng)建實(shí)例,接收三個(gè)參數(shù)
// 參數(shù)dom:實(shí)例容器,一般是一個(gè)具有高寬的div元素
// 參數(shù)theme:可選,應(yīng)用的主題??梢允且粋€(gè)主題的配置對象
// 參數(shù)opts:可選,附加參數(shù)
this.myChart = echarts.init(dom, theme, opts)
  • echartsInstance.on
    實(shí)例方法:綁定事件處理函數(shù)(對應(yīng) off:解綁事件處理函數(shù))
// 創(chuàng)建實(shí)例,接收三個(gè)參數(shù)
// 參數(shù)eventName:事件名稱,全小寫,例如'click','mousemove', 'legendselected'
// 參數(shù)query:可選,過濾條件,能夠只在指定的組件或者元素上進(jìn)行響應(yīng)??蔀?string 或者 Object
// 參數(shù)handler:事件處理函數(shù)

this.myChart.on(eventName, query, handler)
  • echartsInstance.setOption
    實(shí)例方法:設(shè)置圖表實(shí)例的配置項(xiàng)以及數(shù)據(jù),萬能接口,所有參數(shù)和數(shù)據(jù)的修改都可以通過 setOption 完成,ECharts 會(huì)合并新的參數(shù)和數(shù)據(jù),然后刷新圖表。

配置項(xiàng)部分用法見下文五、echarts 部分配置項(xiàng)。官方配置項(xiàng)手冊

// 參數(shù) option:配置項(xiàng)

this.myChart.setOption(option)

四、AMap 相關(guān) api 使用說明

  • 引入 AMap
<!-- html文件 -->
<!--引入高德地圖JSAPI,key值是在AMap官方申請的哦,plugin是項(xiàng)目中用到的插件 -->
<script src="http://webapi.amap.com/maps?v=2.0&key=bb36205e1ab4869979c6505a3cc362ee&plugin=AMap.DistrictSearch"></script>
<!--引入U(xiǎn)I組件庫(1.1版本) -->
<script src="http://webapi.amap.com/ui/1.1/main.js"></script>
  • AMap.DistrictSearch(opt)
    插件,行政區(qū)查詢服務(wù),提供行政區(qū)相關(guān)信息。官方文檔
/** 
參數(shù)opts:對象,實(shí)例時(shí)的配置
opts:{
  level: String, 關(guān)鍵字對應(yīng)的行政區(qū)級別或商圈,可選值
  showbiz: Boolean, 是否顯示商圈,默認(rèn)值true
  extensions: String,是否返回行政區(qū)邊界坐標(biāo)點(diǎn)。默認(rèn)值:base,不返回行政區(qū)邊界坐標(biāo)點(diǎn),取值:all,返回完整行政區(qū)邊界坐標(biāo)點(diǎn)
  subdistrict:Number,默認(rèn)1,顯示下級行政區(qū)級數(shù)(行政區(qū)級別包括:國家、省/直轄市、市、區(qū)/縣4個(gè)級別),商圈為區(qū)/縣下一級。0不返回下一級區(qū)劃,1返回下一級區(qū)劃,2...,3...。
}
**/
const districtSearch = new AMap.DistrictSearch(opts)
// 根據(jù)關(guān)鍵字查詢行政區(qū)或商圈信息 關(guān)鍵字支持:行政區(qū)名、citycode、adcode、商圈名,默認(rèn)值:“全國”
districtSearch.search(obj.data.name, (status, result) => {
  console.log('加載區(qū)劃信息', status, result)
})
  • DistrictExplorer
    加載繪制地圖所需的 geo 格式的 json 數(shù)據(jù)。(行政區(qū)劃瀏覽) 提供了全國范圍內(nèi)到區(qū)縣一級的行政區(qū)劃數(shù)據(jù)(含邊界),同時(shí)提供一些輔助功能,比如區(qū)劃面繪制、事件監(jiān)聽,以及快速判斷經(jīng)緯度所屬的子級區(qū)劃等。官方文檔
// 使用
AMapUI.loadUI(['geo/DistrictExplorer'], (DistrictExplorer) => {
  let districtExplorer = new DistrictExplorer({
    eventSupport: true, // 打開事件支持
    map: null, // 地圖對象實(shí)例。僅僅獲取數(shù)據(jù),不涉及地圖相關(guān)的操作時(shí),可以不設(shè)置
  })
  districtExplorer.loadAreaNode(obj.data.cityCode, (error, areaNode) => {
    if (error) return
    const mapJson = {}
    // 返回該區(qū)域中全部的子級區(qū)劃Feature數(shù)組
    mapJson.features = areaNode.getSubFeatures() || []
    console.log('繪制地圖所需的json數(shù)據(jù)', mapJson)
  })
})

五、echarts 部分配置項(xiàng)

const option = {
  visualMap: {
    // 視覺映射組件配置
    type: 'continuous', // 定義為連續(xù)型 visualMap
    show: true,
    bottom: '5%',
    left: '2%',
    text: ['高', '低'], // 兩端的文本
    min: 0, // 指定 visualMapContinuous 組件的允許的最小值
    max: 100, // 指定 visualMapContinuous 組件的允許的最大值
    inRange: {
      // 定義 在選中范圍中 的視覺元素
      color: ['#fff', '#A0CFFF', '#409EFF'], // 圖元的顏色
    },
    calculable: true, // 是否顯示拖拽用的手柄(手柄能拖拽調(diào)整選中范圍)
  },
  tooltip: {
    // 提示框組件
    trigger: 'item',
    formatter: function (item) {
      if (item.name == '南海諸島') {
        return ''
      } else {
        return item.name + '<br>業(yè)務(wù)數(shù)據(jù):' + (item.value || 0) + ' 個(gè)'
      }
    },
  },
  series: [
    // 系列列表。每個(gè)系列通過 type 決定自己的圖表類型
    {
      type: 'map', // 系列列表。每個(gè)系列通過 type 決定自己的圖表類型
      map: 'china', // 地圖。china 為中國全國地圖+右下角南海諸島,china1 為中國全國地圖
      name: '業(yè)務(wù)數(shù)據(jù)', // 系列名稱,用于tooltip的顯示,legend 的圖例篩選,在 setOption 更新數(shù)據(jù)和配置項(xiàng)時(shí)用于指定對應(yīng)的系列
      aspectScale: 0.75, // 用于 scale 地圖的長寬比
      zoom: 1.2, // 地圖縮放多少倍
      roam: true, // 允許縮放和平移
      mapType: '自定義地圖',
      selectedMode: 'single', // 點(diǎn)擊區(qū)域,會(huì)處于選中狀態(tài),single單選
      showLegendSymbol: false, // 在圖例相應(yīng)區(qū)域顯示圖例的顏色標(biāo)識(系列標(biāo)識的小圓點(diǎn)),存在 legend 組件時(shí)生效
      // center: [100.97, 35.71], // 初始化時(shí)的地圖位置,可通過改變地圖中心視角的經(jīng)緯度來實(shí)現(xiàn)地圖的平移
      itemStyle: {
        // 地圖區(qū)域的多邊形圖形樣式
        normal: {
          // 正常時(shí)的樣式
          color: '#ccc', // 圖形的顏色
          borderColor: '#303133', // 圖形的描邊顏色
          areaColor: '#d4f7fc', // 地圖區(qū)域顏色
          borderWidth: 0.5, // 描邊線寬。為 0 時(shí)無描邊
          label: {
            // 設(shè)置地圖區(qū)域名的文本樣式,例如地名的字體大小等
            show: true, // 顯示地區(qū)的文本名稱,默認(rèn)是不顯示的,默認(rèn)狀態(tài)是hoverORclick才顯示
            fontSize: 12,
            textStyle: {
              color: '#606266',
            },
          },
        },
        emphasis: {
          // 選中后的樣式
          areaColor: '#4382F6',
          borderColor: '#fff',
          areaStyle: {
            color: '#fff',
          },
          label: {
            show: true,
            fontSize: 12,
            textStyle: {
              color: '#003767',
            },
          },
        },
      },
      data: this.mapData, // 地圖系列中的數(shù)據(jù)內(nèi)容數(shù)組。數(shù)組項(xiàng)可以為單個(gè)數(shù)值
    },
  ],
}

以上就是Vue echarts@4.x中國地圖及AMap相關(guān)API使用詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue echarts中國地圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue2中實(shí)現(xiàn)dialog的封裝方式

    Vue2中實(shí)現(xiàn)dialog的封裝方式

    這篇文章主要介紹了Vue2中實(shí)現(xiàn)dialog的封裝方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • vue-route路由管理的安裝與配置方法

    vue-route路由管理的安裝與配置方法

    這篇文章主要介紹了vue-route路由管理的安裝與配置,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • 修改Vue打包后的默認(rèn)文件名操作

    修改Vue打包后的默認(rèn)文件名操作

    這篇文章主要介紹了修改Vue打包后的默認(rèn)文件名操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 詳解從零搭建 vue2 vue-router2 webpack3 工程

    詳解從零搭建 vue2 vue-router2 webpack3 工程

    本篇文章主要介紹了詳解從零搭建 vue2 vue-router2 webpack3 工程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • uniapp中app與webview的通訊代碼示例

    uniapp中app與webview的通訊代碼示例

    這篇文章主要給大家介紹了關(guān)于uniapp中app與webview通訊的相關(guān)資料,這里的通信主要是打包APP端和web-view內(nèi)嵌網(wǎng)頁的雙向通信,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • 簡單了解Vue computed屬性及watch區(qū)別

    簡單了解Vue computed屬性及watch區(qū)別

    這篇文章主要介紹了通過實(shí)例解析Vue computed屬性及watch區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • webpack+vue-cli項(xiàng)目中引入外部非模塊格式j(luò)s的方法

    webpack+vue-cli項(xiàng)目中引入外部非模塊格式j(luò)s的方法

    今天小編就為大家分享一篇webpack+vue-cli項(xiàng)目中引入外部非模塊格式j(luò)s的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue3實(shí)現(xiàn)文本差異對比器的具體方案

    Vue3實(shí)現(xiàn)文本差異對比器的具體方案

    本文將介紹本項(xiàng)目中 文本差異對比器 (Text Diff Checker) 工具的技術(shù)實(shí)現(xiàn)細(xì)節(jié),該工具基于 Vue 3 框架開發(fā),核心對比邏輯采用原生的 JavaScript 實(shí)現(xiàn),通過動(dòng)態(tài)加載的方式與 Vue 組件進(jìn)行交互,需要的朋友可以參考下
    2026-02-02
  • Vue3中Axios的使用 附完整代碼

    Vue3中Axios的使用 附完整代碼

    Axios提供了簡潔一致的API,使得發(fā)送HTTP請求變得非常容易,無論是GET、POST、PUT還是DELETE等請求,都可以通過簡潔的語法輕松實(shí)現(xiàn),這篇文章主要介紹了Vue3中Axios的使用附完整代碼,需要的朋友可以參考下
    2025-06-06
  • 深入了解Vue3中偵聽器watcher的實(shí)現(xiàn)原理

    深入了解Vue3中偵聽器watcher的實(shí)現(xiàn)原理

    在平時(shí)的開發(fā)工作中,我們經(jīng)常使用偵聽器幫助我們?nèi)ビ^察某個(gè)數(shù)據(jù)的變化然后去執(zhí)行一段邏輯。在?Vue.js?2.x?中,你可以通過?watch?選項(xiàng)去初始化一個(gè)偵聽器,稱作?watcher。本文將詳細(xì)為大家介紹一下偵聽器的實(shí)現(xiàn)原理,需要的可以參考一下
    2022-04-04

最新評論

宁南县| 天峻县| 湛江市| 上林县| 共和县| 周口市| 名山县| 青冈县| 安龙县| 庆城县| 沁源县| 七台河市| 永吉县| 霍邱县| 海林市| 吉林市| 黎城县| 会泽县| 蓝山县| 繁昌县| 平陆县| 英吉沙县| 洪洞县| 高雄市| 道孚县| 扎赉特旗| 当雄县| 广昌县| 肥乡县| 安龙县| 岢岚县| 曲松县| 高碑店市| 汶川县| 历史| 南丹县| 嘉善县| 收藏| 新郑市| 南华县| 全南县|