# ol3Echarts **Repository Path**: scooler/ol3Echarts ## Basic Information - **Project Name**: ol3Echarts - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-27 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Bridger for openlayers and Apache ECharts (incubating) [](https://github.com/sakitam-fdd/ol3Echarts/actions/workflows/main.yml) [](https://codecov.io/gh/sakitam-fdd/ol3Echarts)  [](https://github.com/sakitam-fdd/ol3Echarts/stargazers) [](https://raw.githubusercontent.com/sakitam-fdd/ol3Echarts/master/LICENSE) ## Support | Project | Status | Version | Npm | CDN | Description | |---------|--------|---------|-----|------|-------------| | [ol3-echarts](https://github.com/sakitam-fdd/ol3Echarts/packages/ol3-echarts) | [](https://github.com/sakitam-fdd/ol3Echarts/actions/workflows/main.yml) | [](https://www.npmjs.org/package/ol3-echarts) | [](https://npmjs.org/package/ol3-echarts) | [](https://www.jsdelivr.com/package/npm/ol3-echarts) | support for openlayers3-4 | | [ol-echarts](https://github.com/sakitam-fdd/ol3Echarts/packages/ol-echarts) | [](https://github.com/sakitam-fdd/ol3Echarts/actions/workflows/main.yml) | [](https://www.npmjs.org/package/ol-echarts) | [](https://npmjs.org/package/ol-echarts) | [](https://www.jsdelivr.com/package/npm/ol-echarts) | support for openlayers5+ | ### TIP ol 7.x 以后请使用 ol-echarts v4.x,ol 7.x 之前请使用 ol-echarts v3.x,原因见 [issues/115](https://github.com/sakitam-fdd/ol3Echarts/issues/115#issuecomment-1627004544) ## 下载 ```bash git clone https://github.com/sakitam-fdd/ol3Echarts.git yarn run bootstrap yarn run dev yarn run build yarn run karma.test ``` ### 安装 #### npm安装 > 注意:npm下存在两个包 [ol3-echarts](https://npmjs.org/package/ol3-echarts) 和 [ol-echarts](https://npmjs.org/package/ol-echarts) 前者是在使用 [openlayers](https://npmjs.org/package/openlayers) 或者是 `ol` 的cdn时使用;后者是在使用 [ol](https://npmjs.org/package/ol) 配合打包工具使用。 ```bash // old openlayers package npm install ol3-echarts --save import ol3Echarts from 'ol3-echarts' // ol package npm install ol-echarts --save import EChartsLayer from 'ol-echarts' ``` #### cdn > cdn 引用方式只支持 旧版 `openlayers` 和新版 `ol` 的cdn引用方式,统一使用 `ol3-echarts` 支持。 目前可通过 [unpkg.com](https://unpkg.com/ol3-echarts/dist/ol3Echarts.js) / [jsdelivr](https://cdn.jsdelivr.net/npm/ol3-echarts/dist/ol3Echarts.js) 获取最新版本的资源。 ```bash // jsdelivr (jsdelivr由于缓存原因最好锁定版本号) https://cdn.jsdelivr.net/npm/ol3-echarts@2.0.3/dist/ol3Echarts.js https://cdn.jsdelivr.net/npm/ol3-echarts@2.0.3/dist/ol3Echarts.min.js // npm https://unpkg.com/ol3-echarts/dist/ol3Echarts.js https://unpkg.com/ol3-echarts/dist/ol3Echarts.min.js ``` #### [示例](//sakitam-fdd.github.io/ol3Echarts/) #### [文档](//sakitam-fdd.github.io/ol3Echarts/docs/) #### openlayers ``` javascript
``` #### 对于 ol version >= 5 && >=6 的版本 如果你已经对 ol 执行构建 `build-legacy` 那么你将能够获取一个可以通过 `script` 引入的 `ol.js` 包,这样的话你也可以使用 `ol-echarts` 下的 `ol-echarts.js`, 如果碰到鼠标事件问题,请参照 issues [#45](https://github.com/sakitam-fdd/ol3Echarts/issues/45) ```html ``` #### ol package & react ```jsx harmony import * as React from 'react'; import { Map, View } from 'ol'; import TileLayer from 'ol/layer/Tile'; import XYZ from 'ol/source/XYZ'; import 'ol/ol.css'; import EChartsLayer from 'ol-echarts'; class Index extends React.Component { constructor (props, context) { super(props, context); this.state = { zoom: 14, fov: 0, pitch: 0, bearing: 0 }; this.container = null; this.map = null; } componentDidMount () { this.map = new Map({ target: this.container, view: new View({ center: [113.53450137499999, 34.44104525], projection: 'EPSG:4326', zoom: 5 // resolution }), layers: [ new TileLayer({ source: new XYZ({ url: 'http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnline' + 'StreetPurplishBlue/MapServer/tile/{z}/{y}/{x}' }) }) ] }); const echartslayer = new EChartsLayer(option, { hideOnMoving: false, hideOnZooming: false, forcedPrecomposeRerender: true }); echartslayer.appendTo(this.map); window.setTimeout(() => { echartslayer.remove(); }, 10 * 1000) } setRef = (x = null) => { this.container = x; }; render () { return (); } } ``` ##### hmap-js ``` javascript ``` ## 截图示例    其他示例请自己挖掘 ## 致谢 > [echarts](https://github.com/ecomfe/echarts) > [openlayers](https://github.com/openlayers/openlayers) ## License [](https://app.fossa.io/projects/git%2Bgithub.com%2Fsakitam-fdd%2Fol3Echarts?ref=badge_large)