一、概述
echarts bmap是由百度地圖和echarts結合,實現了在echarts地圖中使用百度地圖底圖,同時融合了echarts中數據可視化功能。通過bmap,我們可以在網頁上通過圖表展現地理信息。
在使用echarts bmap前,我們需要首先引進百度地圖JavaScript API和echarts.js文件。然後,初始化百度地圖:
// 引入百度地圖JS API
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=[your-key]">
// 引入echarts.js文件
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js">
// 初始化地圖容器
var myChart = echarts.init(document.getElementById('map'));
var bmap = myChart.getModel().getComponent('bmap').getBMap();
二、bmap常用配置
1、設置地圖中心點和縮放級別:
// 設置地圖中心和縮放級別
bmap.centerAndZoom(new BMap.Point(116.404, 39.915), 11);
2、添加控制項:
// 添加縮放、平移控制項
bmap.addControl(new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_RIGHT }));
// 添加比例尺控制項
bmap.addControl(new BMap.ScaleControl({ anchor: BMAP_ANCHOR_BOTTOM_LEFT }));
3、設置地圖樣式:
// 自定義地圖樣式
bmap.setMapStyleV2({
styleId: 'your-style-id'
});
4、啟用地圖拖拽、縮放、滾輪縮放:
// 啟用地圖拖拽
bmap.enableDragging();
// 啟用滾輪縮放
bmap.enableScrollWheelZoom();
// 啟用雙擊放大
bmap.enableDoubleClickZoom();
// 啟用縮放按鈕
bmap.enablePinchToZoom();
三、在bmap上添加echarts圖表
在echarts中添加bmap組件,代碼為:
option = {
// 設置bmap組件
bmap: {
center: [116.404, 39.915],
zoom: 11,
roam: true,
mapStyle: {
styleJson: [
{
'featureType': 'water',
'elementType': 'all',
'stylers': {
'color': '#d1d1d1'
}
},
{
'featureType': 'land',
'elementType': 'all',
'stylers': {
'color': '#f3f3f3'
}
}]
}
},
series: [
// 設置散點圖
{
type: 'scatter',
coordinateSystem: 'bmap',
data: [
[116.405, 39.915],
[116.404, 39.915],
[116.403, 39.915],
[116.402, 39.915],
[116.401, 39.915]
],
}
]
};
// 將option賦給echarts實例
myChart.setOption(option);
在上述代碼中,我們通過設置bmap組件來添加echarts圖表,散點圖通過”type”:”scatter”來定義,”coordinateSystem”:”bmap”表示在bmap組件上繪製散點圖,散點圖數據通過”data”來設置。
四、bmap事件
通過bmap的事件函數,我們可以對地圖上的交互進行響應,常用事件有click、dblclick、mouseover、mouseout等。以單擊事件為例:
// 用戶單擊bmap組件會觸發的事件函數
bmap.addEventListener('click', function (e) {
// 獲取單擊點的經緯度信息
var lng = e.point.lng;
var lat = e.point.lat;
console.log(lng, lat);
});
五、結語
通過以上的介紹,我們可以看到echarts bmap提供了豐富的地理信息展示功能,通過簡單的配置和API調用,我們可以在網頁中添加地圖、圖表,實現數據可視化。
原創文章,作者:DKWAA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/334004.html
微信掃一掃
支付寶掃一掃