欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

VUE中使用百度地图BaiduMap

程序员文章站 2022-06-22 14:02:53
VUE中使用百度地图BaiduMap以前在html页中使用了echart,做了很多图表,也集成了百度地图,效果很好。最近,开始研究vue加 .net core的框架,所以也想把echart和百度地图用在vue上,把整个过程记录下来,以备自己和别人使用借鉴第一种,使用VUE BAIDU MAP网址是:https://dafrok.github.io/vue-baidu-map/#/我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能...

VUE中使用百度地图BaiduMap

以前在html页中使用了echart,做了很多图表,也集成了百度地图,效果很好。最近,开始研究vue加 .net core的框架,所以也想把echart和百度地图用在vue上,把整个过程记录下来,以备自己和别人使用借鉴

第一种,使用VUE BAIDU MAP

网址是:https://dafrok.github.io/vue-baidu-map/#/
VUE中使用百度地图BaiduMap
我的IDE是VSCode:

  1. npm安装 ,在VSCode终端中输入npm命令:npm install vue-baidu-map --save 等待安装成功,在项目node_modules中多了一个文件夹vue-baidu-map。
  2. 全局注册baidumap ,找到项目的main.js,录入代码段:
//引入组件
import BaiduMap from 'vue-baidu-map'
//全局挂载
Vue.use(BaiduMap, {
  ak: '你申请的ak'
})
  1. 我的项目中使用了全局注册,局部注册大家可以参考上面的网址里的说明,也很简单;
  2. 接着就可以新建一个vue文件,以热力图为例
//template code
<template>
 <baidu-map class="map" center="大连" :zoom="zoom" :map-style="mapStyle" :scroll-wheel-zoom="true">
   <bml-heatmap :data="data" :max="100" :radius="20" />
 </baidu-map>
</template>
//控制鼠标缩放是否启用 scroll-wheel-zoom 
//center 可以写经纬度或者是城市名称
// mapstyle可以在百度地图的个性化编辑工具中获取到json
//script code
import { BmlHeatmap } from 'vue-baidu-map'
export default {
 name: 'heatrealmap',
 components: {
   BmlHeatmap
 },
 props: {
   lng:
   {
     type: Number,
     default: 121.636225
   },
   lat:
   {
     type: Number,
     default: 38.930423
   },
   zoom: {
     type: Number,
     default: 12
   },
   className: {
     type: String,
     default: 'pie'
   },
   width: {
     type: String,
     default: '90%'
   },
   height: {
     type: String,
     default: '98%'
   },
   subtext: {
     type: String,
     default: ''
   }
 },
 data() {
   return {
     chart: null,
     data: [
       { lng: 121.594151, lat: 38.957126, count: 10 },
       { lng: 121.596443, lat: 38.961567, count: 10 },
       { lng: 121.623686, lat: 39.018666, count: 20 },
       { lng: 121.619627, lat: 39.018233, count: 10 },
       { lng: 121.597830, lat: 38.969193, count: 500 },
       { lng: 121.616499, lat: 39.017189, count: 650 },
       { lng: 121.594412, lat: 38.975496, count: 150 },
       { lng: 121.615412, lat: 39.015366, count: 900 },
       { lng: 121.596022, lat: 38.983353, count: 80 },
       { lng: 121.598639, lat: 38.988023, count: 70 },
       { lng: 121.609320, lat: 39.015060, count: 60 },
       { lng: 121.608579, lat: 39.010500, count: 30 },
       { lng: 121.602027, lat: 38.992479, count: 40 },
       { lng: 121.603355, lat: 38.996524, count: 5 },
       { lng: 121.612260, lat: 39.009096, count: 650 },
       { lng: 121.612370, lat: 39.002889, count: 550 },
       { lng: 121.608030, lat: 38.998747, count: 550 },
       { lng: 121.612520, lat: 39.002704, count: 450 },
       { lng: 121.608667, lat: 38.999222, count: 350 },
       { lng: 121.602048, lat: 38.996165, count: 350 },
       { lng: 121.612662, lat: 39.009308, count: 250 },
       { lng: 121.608730, lat: 39.010748, count: 50 },
       { lng: 121.600736, lat: 38.991252, count: 150 },
       { lng: 121.598472, lat: 38.988359, count: 550 }
     ],
     mapStyle: {
       styleJson: [
         {
           'featureType': 'water',
           'elementType': 'all',
           'stylers': {
             'color': '#031628'
           }
         },
         {
           'featureType': 'land',
           'elementType': 'geometry',
           'stylers': {
             'color': '#091c54'
           }
         },
         {
           'featureType': 'highway',
           'elementType': 'all',
           'stylers': {
             'visibility': 'off'
           }
         },
         {
           'featureType': 'arterial',
           'elementType': 'geometry.fill',
           'stylers': {
             'color': '#000000'
           }
         },
         {
           'featureType': 'arterial',
           'elementType': 'geometry.stroke',
           'stylers': {
             'color': '#0b3d51'
           }
         },
         {
           'featureType': 'local',
           'elementType': 'geometry',
           'stylers': {
             'color': '#000000'
           }
         },
         {
           'featureType': 'railway',
           'elementType': 'geometry.fill',
           'stylers': {
             'color': '#000000'
           }
         },
         {
           'featureType': 'railway',
           'elementType': 'geometry.stroke',
           'stylers': {
             'color': '#08304b'
           }
         },
         {
           'featureType': 'subway',
           'elementType': 'geometry',
           'stylers': {
             'lightness': -70
           }
         },
         {
           'featureType': 'building',
           'elementType': 'geometry.fill',
           'stylers': {
             'color': '#000000'
           }
         },
         {
           'featureType': 'all',
           'elementType': 'labels.text.fill',
           'stylers': {
             'color': '#857f7f'
           }
         },
         {
           'featureType': 'all',
           'elementType': 'labels.text.stroke',
           'stylers': {
             'color': '#000000'
           }
         },
         {
           'featureType': 'building',
           'elementType': 'geometry',
           'stylers': {
             'color': '#022338'
           }
         },
         {
           'featureType': 'green',
           'elementType': 'geometry',
           'stylers': {
             'color': '#062032',
             'visibility': 'off'
           }
         },
         {
           'featureType': 'boundary',
           'elementType': 'all',
           'stylers': {
             'color': '#465b6c'
           }
         },
         {
           'featureType': 'manmade',
           'elementType': 'all',
           'stylers': {
             'color': '#022338',
             'visibility': 'off'
           }
         },
         {
           'featureType': 'label',
           'elementType': 'all',
           'stylers': {
             'visibility': 'off'
           }
         }
       ]
     }
   }
 }
 //style code
 //deep打头的两个css是隐藏百度地图的logo
 <style>
.map {
 width: 100%;
 height: 100%;
 border-radius:10px;
}
/deep/.BMap_cpyCtrl {
   display: none!important;
}
/deep/.anchorBL {
   display: none!important;
}
</style>

实现的效果如下图:
VUE中使用百度地图BaiduMap
个人觉得第一种上手虽然比较快,但是实现一些其他的功能,还是比较有限的。比如要实现scatter的ripple效果,就得用第二种方式了。

第二种 使用bmap扩展

1.使用npm安装echarts时,会把bmap安装进来,位置在你的项目中node_modules\echarts\extension-src
2. 接着新建vue文件;

// template code block
<template>
 <div :class="className" :style="{height:height,width:width}" />
</template>
//script code block
<script>
import echarts from 'echarts'
require('echarts/extension/bmap/bmap')
import { debounce } from '@/utils'
export default {
 props: {
   className: {
     type: String,
     default: 'chart'
   },
   width: {
     type: String,
     default: '100%'
   },
   height: {
     type: String,
     default: '100%'
   }
 },
 data() {
   return {
     chart: null
   }
 },
 computed: {
 },
 watch: {
 },
 created() {
 },
 mounted() {
   this.initChart()
   this.__resizeHandler = debounce(() => {
     if (this.chart) {
       this.chart.resize()
     }
   }, 100)
   window.addEventListener('resize', this.__resizeHandler)
 },
 beforeDestroy() {
   if (!this.chart) {
     return
   }
   window.removeEventListener('resize', this.__resizeHandler)
   this.chart.dispose()
   this.chart = null
 },
 methods: {
   initChart() {
     var data = [
       { name: '海门', value: 9 },
       { name: '鄂尔多斯', value: 12 },
       { name: '招远', value: 12 },
       { name: '舟山', value: 12 },
       { name: '齐齐哈尔', value: 14 },
       { name: '盐城', value: 15 },
       { name: '赤峰', value: 16 },
       { name: '青岛', value: 18 },
       { name: '乳山', value: 18 },
       { name: '金昌', value: 19 },
       { name: '泉州', value: 21 },
       { name: '莱西', value: 21 },
       { name: '日照', value: 21 },
       { name: '胶南', value: 22 },
       { name: '南通', value: 23 },
       { name: '拉萨', value: 24 },
       { name: '云浮', value: 24 },
       { name: '梅州', value: 25 },
       { name: '文登', value: 25 },
       { name: '上海', value: 25 },
       { name: '攀枝花', value: 25 },
       { name: '威海', value: 25 },
       { name: '承德', value: 25 },
       { name: '厦门', value: 26 },
       { name: '汕尾', value: 26 },
       { name: '潮州', value: 26 },
       { name: '丹东', value: 27 },
       { name: '太仓', value: 27 },
       { name: '曲靖', value: 27 },
       { name: '烟台', value: 28 },
       { name: '福州', value: 29 },
       { name: '瓦房店', value: 30 },
       { name: '即墨', value: 30 },
       { name: '抚顺', value: 31 },
       { name: '玉溪', value: 31 },
       { name: '张家口', value: 31 },
       { name: '阳泉', value: 31 },
       { name: '莱州', value: 32 },
       { name: '湖州', value: 32 },
       { name: '汕头', value: 32 },
       { name: '昆山', value: 33 },
       { name: '宁波', value: 33 },
       { name: '湛江', value: 33 },
       { name: '揭阳', value: 34 },
       { name: '荣成', value: 34 },
       { name: '连云港', value: 35 },
       { name: '葫芦岛', value: 35 },
       { name: '常熟', value: 36 },
       { name: '东莞', value: 36 },
       { name: '河源', value: 36 },
       { name: '淮安', value: 36 },
       { name: '泰州', value: 36 },
       { name: '南宁', value: 37 },
       { name: '营口', value: 37 },
       { name: '惠州', value: 37 },
       { name: '江阴', value: 37 },
       { name: '蓬莱', value: 37 },
       { name: '韶关', value: 38 },
       { name: '嘉峪关', value: 38 },
       { name: '广州', value: 38 },
       { name: '延安', value: 38 },
       { name: '太原', value: 39 },
       { name: '清远', value: 39 },
       { name: '中山', value: 39 },
       { name: '昆明', value: 39 },
       { name: '寿光', value: 40 },
       { name: '盘锦', value: 40 },
       { name: '长治', value: 41 },
       { name: '深圳', value: 41 },
       { name: '珠海', value: 42 },
       { name: '宿迁', value: 43 },
       { name: '咸阳', value: 43 },
       { name: '铜川', value: 44 },
       { name: '平度', value: 44 },
       { name: '佛山', value: 44 },
       { name: '海口', value: 44 },
       { name: '江门', value: 45 },
       { name: '章丘', value: 45 },
       { name: '肇庆', value: 46 },
       { name: '大连', value: 47 },
       { name: '临汾', value: 47 },
       { name: '吴江', value: 47 },
       { name: '石嘴山', value: 49 },
       { name: '沈阳', value: 50 },
       { name: '苏州', value: 50 },
       { name: '茂名', value: 50 },
       { name: '嘉兴', value: 51 },
       { name: '长春', value: 51 },
       { name: '胶州', value: 52 },
       { name: '银川', value: 52 },
       { name: '张家港', value: 52 },
       { name: '三门峡', value: 53 },
       { name: '锦州', value: 54 },
       { name: '南昌', value: 54 },
       { name: '柳州', value: 54 },
       { name: '三亚', value: 54 },
       { name: '自贡', value: 56 },
       { name: '吉林', value: 56 },
       { name: '阳江', value: 57 },
       { name: '泸州', value: 57 },
       { name: '西宁', value: 57 },
       { name: '宜宾', value: 58 },
       { name: '呼和浩特', value: 58 },
       { name: '成都', value: 58 },
       { name: '大同', value: 58 },
       { name: '镇江', value: 59 },
       { name: '桂林', value: 59 },
       { name: '张家界', value: 59 },
       { name: '宜兴', value: 59 },
       { name: '北海', value: 60 },
       { name: '西安', value: 61 },
       { name: '金坛', value: 62 },
       { name: '东营', value: 62 },
       { name: '牡丹江', value: 63 },
       { name: '遵义', value: 63 },
       { name: '绍兴', value: 63 },
       { name: '扬州', value: 64 },
       { name: '常州', value: 64 },
       { name: '潍坊', value: 65 },
       { name: '重庆', value: 66 },
       { name: '台州', value: 67 },
       { name: '南京', value: 67 },
       { name: '滨州', value: 70 },
       { name: '贵阳', value: 71 },
       { name: '无锡', value: 71 },
       { name: '本溪', value: 71 },
       { name: '克拉玛依', value: 72 },
       { name: '渭南', value: 72 },
       { name: '马鞍山', value: 72 },
       { name: '宝鸡', value: 72 },
       { name: '焦作', value: 75 },
       { name: '句容', value: 75 },
       { name: '北京', value: 79 },
       { name: '徐州', value: 79 },
       { name: '衡水', value: 80 },
       { name: '包头', value: 80 },
       { name: '绵阳', value: 80 },
       { name: '乌鲁木齐', value: 84 },
       { name: '枣庄', value: 84 },
       { name: '杭州', value: 84 },
       { name: '淄博', value: 85 },
       { name: '鞍山', value: 86 },
       { name: '溧阳', value: 86 },
       { name: '库尔勒', value: 86 },
       { name: '安阳', value: 90 },
       { name: '开封', value: 90 },
       { name: '济南', value: 92 },
       { name: '德阳', value: 93 },
       { name: '温州', value: 95 },
       { name: '九江', value: 96 },
       { name: '邯郸', value: 98 },
       { name: '临安', value: 99 },
       { name: '兰州', value: 99 },
       { name: '沧州', value: 100 },
       { name: '临沂', value: 103 },
       { name: '南充', value: 104 },
       { name: '天津', value: 105 },
       { name: '富阳', value: 106 },
       { name: '泰安', value: 112 },
       { name: '诸暨', value: 112 },
       { name: '郑州', value: 113 },
       { name: '哈尔滨', value: 114 },
       { name: '聊城', value: 116 },
       { name: '芜湖', value: 117 },
       { name: '唐山', value: 119 },
       { name: '平顶山', value: 119 },
       { name: '邢台', value: 119 },
       { name: '德州', value: 120 },
       { name: '济宁', value: 120 },
       { name: '荆州', value: 127 },
       { name: '宜昌', value: 130 },
       { name: '义乌', value: 132 },
       { name: '丽水', value: 133 },
       { name: '洛阳', value: 134 },
       { name: '秦皇岛', value: 136 },
       { name: '株洲', value: 143 },
       { name: '石家庄', value: 147 },
       { name: '莱芜', value: 148 },
       { name: '常德', value: 152 },
       { name: '保定', value: 153 },
       { name: '湘潭', value: 154 },
       { name: '金华', value: 157 },
       { name: '岳阳', value: 169 },
       { name: '长沙', value: 175 },
       { name: '衢州', value: 177 },
       { name: '廊坊', value: 193 },
       { name: '菏泽', value: 194 },
       { name: '合肥', value: 229 },
       { name: '武汉', value: 273 },
       { name: '大庆', value: 279 }
     ]
     var geoCoordMap = {
       '海门': [121.15, 31.89],
       '鄂尔多斯': [109.781327, 39.608266],
       '招远': [120.38, 37.35],
       '舟山': [122.207216, 29.985295],
       '齐齐哈尔': [123.97, 47.33],
       '盐城': [120.13, 33.38],
       '赤峰': [118.87, 42.28],
       '青岛': [120.33, 36.07],
       '乳山': [121.52, 36.89],
       '金昌': [102.188043, 38.520089],
       '泉州': [118.58, 24.93],
       '莱西': [120.53, 36.86],
       '日照': [119.46, 35.42],
       '胶南': [119.97, 35.88],
       '南通': [121.05, 32.08],
       '拉萨': [91.11, 29.97],
       '云浮': [112.02, 22.93],
       '梅州': [116.1, 24.55],
       '文登': [122.05, 37.2],
       '上海': [121.48, 31.22],
       '攀枝花': [101.718637, 26.582347],
       '威海': [122.1, 37.5],
       '承德': [117.93, 40.97],
       '厦门': [118.1, 24.46],
       '汕尾': [115.375279, 22.786211],
       '潮州': [116.63, 23.68],
       '丹东': [124.37, 40.13],
       '太仓': [121.1, 31.45],
       '曲靖': [103.79, 25.51],
       '烟台': [121.39, 37.52],
       '福州': [119.3, 26.08],
       '瓦房店': [121.979603, 39.627114],
       '即墨': [120.45, 36.38],
       '抚顺': [123.97, 41.97],
       '玉溪': [102.52, 24.35],
       '张家口': [114.87, 40.82],
       '阳泉': [113.57, 37.85],
       '莱州': [119.942327, 37.177017],
       '湖州': [120.1, 30.86],
       '汕头': [116.69, 23.39],
       '昆山': [120.95, 31.39],
       '宁波': [121.56, 29.86],
       '湛江': [110.359377, 21.270708],
       '揭阳': [116.35, 23.55],
       '荣成': [122.41, 37.16],
       '连云港': [119.16, 34.59],
       '葫芦岛': [120.836932, 40.711052],
       '常熟': [120.74, 31.64],
       '东莞': [113.75, 23.04],
       '河源': [114.68, 23.73],
       '淮安': [119.15, 33.5],
       '泰州': [119.9, 32.49],
       '南宁': [108.33, 22.84],
       '营口': [122.18, 40.65],
       '惠州': [114.4, 23.09],
       '江阴': [120.26, 31.91],
       '蓬莱': [120.75, 37.8],
       '韶关': [113.62, 24.84],
       '嘉峪关': [98.289152, 39.77313],
       '广州': [113.23, 23.16],
       '延安': [109.47, 36.6],
       '太原': [112.53, 37.87],
       '清远': [113.01, 23.7],
       '中山': [113.38, 22.52],
       '昆明': [102.73, 25.04],
       '寿光': [118.73, 36.86],
       '盘锦': [122.070714, 41.119997],
       '长治': [113.08, 36.18],
       '深圳': [114.07, 22.62],
       '珠海': [113.52, 22.3],
       '宿迁': [118.3, 33.96],
       '咸阳': [108.72, 34.36],
       '铜川': [109.11, 35.09],
       '平度': [119.97, 36.77],
       '佛山': [113.11, 23.05],
       '海口': [110.35, 20.02],
       '江门': [113.06, 22.61],
       '章丘': [117.53, 36.72],
       '肇庆': [112.44, 23.05],
       '大连': [121.62, 38.92],
       '临汾': [111.5, 36.08],
       '吴江': [120.63, 31.16],
       '石嘴山': [106.39, 39.04],
       '沈阳': [123.38, 41.8],
       '苏州': [120.62, 31.32],
       '茂名': [110.88, 21.68],
       '嘉兴': [120.76, 30.77],
       '长春': [125.35, 43.88],
       '胶州': [120.03336, 36.264622],
       '银川': [106.27, 38.47],
       '张家港': [120.555821, 31.875428],
       '三门峡': [111.19, 34.76],
       '锦州': [121.15, 41.13],
       '南昌': [115.89, 28.68],
       '柳州': [109.4, 24.33],
       '三亚': [109.511909, 18.252847],
       '自贡': [104.778442, 29.33903],
       '吉林': [126.57, 43.87],
       '阳江': [111.95, 21.85],
       '泸州': [105.39, 28.91],
       '西宁': [101.74, 36.56],
       '宜宾': [104.56, 29.77],
       '呼和浩特': [111.65, 40.82],
       '成都': [104.06, 30.67],
       '大同': [113.3, 40.12],
       '镇江': [119.44, 32.2],
       '桂林': [110.28, 25.29],
       '张家界': [110.479191, 29.117096],
       '宜兴': [119.82, 31.36],
       '北海': [109.12, 21.49],
       '西安': [108.95, 34.27],
       '金坛': [119.56, 31.74],
       '东营': [118.49, 37.46],
       '牡丹江': [129.58, 44.6],
       '遵义': [106.9, 27.7],
       '绍兴': [120.58, 30.01],
       '扬州': [119.42, 32.39],
       '常州': [119.95, 31.79],
       '潍坊': [119.1, 36.62],
       '重庆': [106.54, 29.59],
       '台州': [121.420757, 28.656386],
       '南京': [118.78, 32.04],
       '滨州': [118.03, 37.36],
       '贵阳': [106.71, 26.57],
       '无锡': [120.29, 31.59],
       '本溪': [123.73, 41.3],
       '克拉玛依': [84.77, 45.59],
       '渭南': [109.5, 34.52],
       '马鞍山': [118.48, 31.56],
       '宝鸡': [107.15, 34.38],
       '焦作': [113.21, 35.24],
       '句容': [119.16, 31.95],
       '北京': [116.46, 39.92],
       '徐州': [117.2, 34.26],
       '衡水': [115.72, 37.72],
       '包头': [110, 40.58],
       '绵阳': [104.73, 31.48],
       '乌鲁木齐': [87.68, 43.77],
       '枣庄': [117.57, 34.86],
       '杭州': [120.19, 30.26],
       '淄博': [118.05, 36.78],
       '鞍山': [122.85, 41.12],
       '溧阳': [119.48, 31.43],
       '库尔勒': [86.06, 41.68],
       '安阳': [114.35, 36.1],
       '开封': [114.35, 34.79],
       '济南': [117, 36.65],
       '德阳': [104.37, 31.13],
       '温州': [120.65, 28.01],
       '九江': [115.97, 29.71],
       '邯郸': [114.47, 36.6],
       '临安': [119.72, 30.23],
       '兰州': [103.73, 36.03],
       '沧州': [116.83, 38.33],
       '临沂': [118.35, 35.05],
       '南充': [106.110698, 30.837793],
       '天津': [117.2, 39.13],
       '富阳': [119.95, 30.07],
       '泰安': [117.13, 36.18],
       '诸暨': [120.23, 29.71],
       '郑州': [113.65, 34.76],
       '哈尔滨': [126.63, 45.75],
       '聊城': [115.97, 36.45],
       '芜湖': [118.38, 31.33],
       '唐山': [118.02, 39.63],
       '平顶山': [113.29, 33.75],
       '邢台': [114.48, 37.05],
       '德州': [116.29, 37.45],
       '济宁': [116.59, 35.38],
       '荆州': [112.239741, 30.335165],
       '宜昌': [111.3, 30.7],
       '义乌': [120.06, 29.32],
       '丽水': [119.92, 28.45],
       '洛阳': [112.44, 34.7],
       '秦皇岛': [119.57, 39.95],
       '株洲': [113.16, 27.83],
       '石家庄': [114.48, 38.03],
       '莱芜': [117.67, 36.19],
       '常德': [111.69, 29.05],
       '保定': [115.48, 38.85],
       '湘潭': [112.91, 27.87],
       '金华': [119.64, 29.12],
       '岳阳': [113.09, 29.37],
       '长沙': [113, 28.21],
       '衢州': [118.88, 28.97],
       '廊坊': [116.7, 39.53],
       '菏泽': [115.480656, 35.23375],
       '合肥': [117.27, 31.86],
       '武汉': [114.31, 30.52],
       '大庆': [125.03, 46.58]
     }
     var convertData = function(data) {
       var res = []
       for (var i = 0; i < data.length; i++) {
         var geoCoord = geoCoordMap[data[i].name]
         if (geoCoord) {
           res.push({
             name: data[i].name,
             value: geoCoord.concat(data[i].value)
           })
         }
       }
       return res
     }

     this.chart = echarts.init(this.$el)
     var option = {
       // 加载 bmap 组件
       bmap: {
       // 百度地图中心经纬度
         // center: [120.13066322374, 30.240018034923],
         // 西安
         center: [108.95, 34.27],
         // 百度地图缩放
         zoom: 5,
         // 是否开启拖拽缩放,可以只设置 'scale' 或者 'move'
         roam: true,
         // 百度地图的自定义样式,见 http://developer.baidu.com/map/jsdevelop-11.htm
         mapStyle: {}
       },
       series: [
         {
           name: 'pm2.5',
           type: 'scatter',
           coordinateSystem: 'bmap',
           data: convertData(data),
           symbolSize: function(val) {
             return 5
           },
           encode: {
             value: 2
           },
           label: {
             formatter: '{b}',
             position: 'right',
             show: false
           },
           itemStyle: {
             color: '#00ffff'
           },
           emphasis: {
             label: {
               show: true
             }
           }
         },
         {
           name: 'Top 5',
           type: 'effectScatter',
           coordinateSystem: 'bmap',
           data: convertData(data.sort(function(a, b) {
             return b.value - a.value
           })),
           symbolSize: function(val) {
             return val[2] / 10
           },
           encode: {
             value: 2
           },
           showEffectOn: 'render',
           rippleEffect: {
             brushType: 'fill',
             color: '#00ffff',
             scale: 5
           },
           hoverAnimation: true,
           label: {
             formatter: '{b}',
             position: 'right',
             show: true
           },
           itemStyle: {
             color: '#00ffff',
             shadowBlur: 5,
             shadowColor: '#333'

           },
           zlevel: 1
         }
       ]
     }
     this.chart.setOption(option)
     // 获取百度地图实例,使用百度地图自带的控件
     var bmap = this.chart.getModel().getComponent('bmap').getBMap()
     var myStyleJson = [
       {
         'featureType': 'water',
         'elementType': 'all',
         'stylers': {
           'color': '#031628'
         }
       },
       {
         'featureType': 'land',
         'elementType': 'geometry',
         'stylers': {
           'color': '#091c54'
         }
       },
       {
         'featureType': 'highway',
         'elementType': 'all',
         'stylers': {
           'visibility': 'off'
         }
       },
       {
         'featureType': 'arterial',
         'elementType': 'geometry.fill',
         'stylers': {
           'color': '#000000'
         }
       },
       {
         'featureType': 'arterial',
         'elementType': 'geometry.stroke',
         'stylers': {
           'color': '#0b3d51'
         }
       },
       {
         'featureType': 'local',
         'elementType': 'geometry',
         'stylers': {
           'color': '#000000'
         }
       },
       {
         'featureType': 'railway',
         'elementType': 'geometry.fill',
         'stylers': {
           'color': '#000000'
         }
       },
       {
         'featureType': 'railway',
         'elementType': 'geometry.stroke',
         'stylers': {
           'color': '#08304b'
         }
       },
       {
         'featureType': 'subway',
         'elementType': 'geometry',
         'stylers': {
           'lightness': -70
         }
       },
       {
         'featureType': 'building',
         'elementType': 'geometry.fill',
         'stylers': {
           'color': '#000000'
         }
       },
       {
         'featureType': 'all',
         'elementType': 'labels.text.fill',
         'stylers': {
           'color': '#857f7f'
         }
       },
       {
         'featureType': 'all',
         'elementType': 'labels.text.stroke',
         'stylers': {
           'color': '#000000'
         }
       },
       {
         'featureType': 'building',
         'elementType': 'geometry',
         'stylers': {
           'color': '#022338'
         }
       },
       {
         'featureType': 'green',
         'elementType': 'geometry',
         'stylers': {
           'color': '#062032',
           'visibility': 'off'
         }
       },
       {
         'featureType': 'boundary',
         'elementType': 'all',
         'stylers': {
           'color': '#465b6c'
         }
       },
       {
         'featureType': 'manmade',
         'elementType': 'all',
         'stylers': {
           'color': '#022338',
           'visibility': 'off'
         }
       },
       {
         'featureType': 'label',
         'elementType': 'all',
         'stylers': {
           'visibility': 'off'
         }
       }
     ]
     bmap.setMapStyle({ styleJson: myStyleJson })
   }
 }

}
</script>
// style code block
<style lang="scss" scoped>
/deep/.BMap_cpyCtrl {
   display: none!important;
}
/deep/.anchorBL {
   display: none!important;
}

实现效果如图:
VUE中使用百度地图BaiduMap

本文地址:https://blog.csdn.net/weixin_38400650/article/details/111088458