echarts 中使用百度地图 bmap (基础使用:仅显示、定义样式)

1. 实现功能

  • 实现简单的自定义样式百度地图,仅显示(基础,可自己研究扩展)
  • 效果:
     

 

2. 代码步骤 

  • 第一步:创建基础结构,id=“map” 的 div 做 echarts 容器
<!DOCTYPE html>
<html>
<head>
	<title>Echarts - 百度地图</title>
	<meta charset="utf-8">
	<style type="text/css">
		html, body {
			margin: 0;
			padding: 0;
			height: 100%;
		}
	</style>
</head>
<body>
	<div id="map" style="height: 100%;"></div>
</body>
</html>
  • 第二步:申请百度地图访问密钥(AK)

可参考文章:https://blog.csdn.net/qq_27512271/article/details/82994240
在代码中引用:

<!DOCTYPE html>
<html>
<head>
	<title>Echarts - 百度地图</title>
	<meta charset="utf-8">
	<style type="text/css">
		html, body {
			margin: 0;
			padding: 0;
			height: 100%;
		}
	</style>
</head>
<body>
	<div id="map" style="height: 100%;"></div>
</body>
</html>
<script src="http://api.map.baidu.com/api?v=2.0&ak=申请到的AK值(记得替换为自己申请的AK)"></script>
  • 第三步:引用 echarts.js 和 bmap.js

    echarts.js  链接: https://pan.baidu.com/s/1w0wsFie-9BUdU_OrF86Zbw 提取码: 5bv5
    bmap.js 链接: https://pan.baidu.com/s/1AXvpfevi-gTfYC74E0kgCg 提取码: igd6 

       放到合适的文件夹进行引用

<!DOCTYPE html>
<html>
<head>
	<title>Echarts - 百度地图</title>
	<meta charset="utf-8">
	<style type="text/css">
		html, body {
			margin: 0;
			padding: 0;
			height: 100%;
		}
	</style>
</head>
<body>
	<div id="map" style="height: 100%;"></div>
</body>
</html>
<script src="http://api.map.baidu.com/api?v=2.0&ak=申请到的AK值(记得替换为自己申请的AK)"></script>
<script type="text/javascript" src="./js/echarts.js"></script>
<script type="text/javascript" src="./js/bmap.js"></script>

第四步:echarts绘制地图

<script type="text/javascript">
	var myChart = echarts.init(document.getElementById('map'));

	myChart.setOption({
		bmap: {},
	});
</script>

此时已经可以看到一个最基础,未经配置的百度地图了,效果如下:

第五步: 自定义地图样式
1. 进入百度地图开放平台个性化地图界面:http://lbsyun.baidu.com/apiconsole/custommap

2. 点击【新建】按钮,进入下图界面

3. 可以直接选择模板样式,也可以自己定义样式,自定义样式点击左下角详细样式编辑器,可针对详细区域进行单独样式设置,如下图:

4. 编辑完成后,可在右侧拿到样式 JSON 数据
 

5. 复制 Json 数据到 JS 代码中,放到 bmap 对象下 mapStyle 对象下 styleJson

<script type="text/javascript">
	var myChart = echarts.init(document.getElementById('map'));

	myChart.setOption({
		bmap: {
			mapStyle: {
				styleJson: [{
				    "featureType": "land",
				    "elementType": "geometry",
				    "stylers": {
				        "visibility": "on",
				        "color": "#091220ff"
				    }
				}]
			}
		},
	});
</script>

 

  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
在 Vue 使用 echarts 百度地图需要先引入 echarts百度地图的 JavaScript API。 1. 引入 echarts 在 Vue 可以通过 npm 安装 echarts,然后在需要使用的组件引入: ``` npm install echarts --save import echarts from 'echarts' ``` 2. 引入百度地图 JavaScript API 在 Vue 可以在 index.html 引入百度地图 JavaScript API: ``` <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=百度地图密钥"></script> ``` 注意:需要替换 ak 参数为你的百度地图密钥。 3. 在组件使用 echarts 百度地图 在 Vue 可以通过在组件的 mounted 钩子函数初始化 echarts 实例和百度地图实例,并将百度地图实例作为参数传递给 echarts 的 setOption 方法。 ``` <template> <div id="chart"></div> </template> <script> import echarts from 'echarts' export default { mounted() { // 初始化 echarts 实例 const chart = echarts.init(document.getElementById('chart')) // 初始化百度地图实例 const bmap = new BMap.Map("chart"); bmap.centerAndZoom(new BMap.Point(116.404, 39.915), 11); bmap.addControl(new BMap.NavigationControl()); // echarts 百度地图 option 配置 const option = { bmap: { center: [116.404, 39.915], zoom: 11, roam: true, }, series: [{ type: 'scatter', coordinateSystem: 'bmap', data: [[116.404, 39.915]], symbolSize: 20, }] } // 将百度地图实例传递给 echarts 的 setOption 方法 chart.setOption(option, true, { bmap: bmap }); } } </script> ``` 上面的代码使用了一个 scatter 类型的系列,它的 coordinateSystem 设置为 bmap,这样就可以在百度地图上绘制散点图了。 注意:需要在组件销毁时调用 echarts 的 dispose 方法销毁实例,以避免内存泄漏。 ``` export default { mounted() { const chart = echarts.init(document.getElementById('chart')) // ... }, beforeDestroy() { echarts.dispose(document.getElementById('chart')) } } ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值