一、概述
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