Git Product home page Git Product logo

ol3echarts's Introduction

Bridger for openlayers and Apache ECharts (incubating)

Build Status codecov JS gzip size GitHub stars GitHub license

Support

Project Status Version Npm CDN Description
ol3-echarts Build Status Npm package NPM downloads support for openlayers3-4
ol-echarts Build Status Npm package NPM downloads support for openlayers5+

TIP

ol 7.x 以后请使用 ol-echarts v4.x,ol 7.x 之前请使用 ol-echarts v3.x,原因见 issues/115

下载

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-echartsol-echarts 前者是在使用 openlayers 或者是 ol 的cdn时使用;后者是在使用 ol 配合打包工具使用。

// 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 / jsdelivr 获取最新版本的资源。

// jsdelivr (jsdelivr由于缓存原因最好锁定版本号)
https://cdn.jsdelivr.net/npm/[email protected]/dist/ol3Echarts.js
https://cdn.jsdelivr.net/npm/[email protected]/dist/ol3Echarts.min.js
// npm
https://unpkg.com/ol3-echarts/dist/ol3Echarts.js
https://unpkg.com/ol3-echarts/dist/ol3Echarts.min.js

openlayers

<div id="map"></div>
<script src="https://cdn.jsdelivr.net/npm/openlayers/dist/ol.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.js"></script>
<script src="https://cdn.jsdelivr.net/npm/ol3-echarts/dist/ol3Echarts.js"></script>
<script>
  var Map = new ol.Map({
    target: container,
    layers: [
      new ol.layer.Tile({
        preload: 4,
        source: new ol.source.OSM()
      })
    ],
    loadTilesWhileAnimating: true,
    view: new ol.View({
      projection: 'EPSG:4326',
      center: [120.74758724751435, 30.760422266949334],
      zoom: 8
    })
  });
  var echartslayer = new ol3Echarts(echartsOption, {
    source: '',
    destination: '',
    hideOnMoving: true,
    forcedRerender: false,
    forcedPrecomposeRerender: false
  });
  echartslayer.appendTo(Map)
</script>

对于 ol version >= 5 && >=6 的版本

如果你已经对 ol 执行构建 build-legacy 那么你将能够获取一个可以通过 script 引入的 ol.js 包,这样的话你也可以使用 ol-echarts 下的 ol-echarts.js, 如果碰到鼠标事件问题,请参照 issues #45

<div id="map"></div>
<script src="https://sakitam-1255686840.cos.ap-beijing.myqcloud.com/cdn/ol/v6.1.1/ol.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.js"></script>
<script src="https://unpkg.com/ol-echarts/dist/ol-echarts.js"></script>
<script>
  var osm = new ol.layer.Tile({
    source: new ol.source.OSM()
  });

  var map = new ol.Map({
    target: 'map',
    layers: [
      osm,
    ],
    view: new ol.View({
      center: ol.proj.fromLonLat([108.18095703125005, 34.34141675361363]),
      projection: 'EPSG:3857',
      zoom: 5
    })
  });

  var echartslayer = new EChartsLayer({
    tooltip: {
      trigger: "item",
      formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
      orient: "vertical",
      left: "right",
      data: ["直接访问", "邮件营销", "联盟广告", "视频广告", "搜索引擎"]
    },
    series: [
      {
        name: "访问来源",
        type: "pie",
        radius: "30",
        coordinates: [110.53450137499999, 33.44104525],
        data: [
          { value: 335, name: "直接访问" },
          { value: 310, name: "邮件营销" },
          { value: 234, name: "联盟广告" },
          { value: 135, name: "视频广告" },
          { value: 1548, name: "搜索引擎" }
        ],
        itemStyle: {
          emphasis: {
            shadowBlur: 10,
            shadowOffsetX: 0,
            shadowColor: "rgba(0, 0, 0, 0.5)"
          }
        }
      },
      {
        name: "访问来源",
        type: "pie",
        radius: "30",
        coordinates: [113.53450137499999, 34.44104525],
        data: [
          { value: 335, name: "直接访问" },
          { value: 310, name: "邮件营销" },
          { value: 234, name: "联盟广告" },
          { value: 135, name: "视频广告" },
          { value: 1548, name: "搜索引擎" }
        ],
        itemStyle: {
          emphasis: {
            shadowBlur: 10,
            shadowOffsetX: 0,
            shadowColor: "rgba(0, 0, 0, 0.5)"
          }
        }
      },
      {
        name: "访问来源",
        type: "pie",
        radius: "30",
        coordinates: [110.53450137499999, 38.44104525],
        data: [
          { value: 335, name: "直接访问" },
          { value: 310, name: "邮件营销" },
          { value: 234, name: "联盟广告" },
          { value: 135, name: "视频广告" },
          { value: 1548, name: "搜索引擎" }
        ],
        itemStyle: {
          emphasis: {
            shadowBlur: 10,
            shadowOffsetX: 0,
            shadowColor: "rgba(0, 0, 0, 0.5)"
          }
        }
      }
    ]
  });

  echartslayer.appendTo(map);
</script>

ol package & react

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 (<div ref={this.setRef} className="map-content"></div>);
  }
}
hmap-js
<div id="map"></div>
<script src="https://cdn.jsdelivr.net/npm/hmap-js/dist/hmap.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.js"></script>
<script src="https://cdn.jsdelivr.net/npm/ol3-echarts/dist/ol3Echarts.js"></script>
<script>
  var Maps = new HMap('map', {
    controls: {
      loading: true,
      zoomSlider: true,
      fullScreen: false
    },
    view: {
      center: [113.53450137499999, 34.44104525],
      projection: 'EPSG:4326',
      zoom: 5, // resolution
    },
    baseLayers: [
      {
        layerName: 'vector',
        isDefault: true,
        layerType: 'TileXYZ',
        projection: 'EPSG:3857',
        tileGrid: {
          tileSize: 256,
          extent: [-2.0037507067161843E7, -3.0240971958386254E7, 2.0037507067161843E7, 3.0240971958386205E7],
          origin: [-2.0037508342787E7, 2.0037508342787E7],
          resolutions: [
            156543.03392800014,
            78271.51696399994,
            39135.75848200009,
            19567.87924099992,
            9783.93962049996,
            4891.96981024998,
            2445.98490512499,
            1222.992452562495,
            611.4962262813797,
            305.74811314055756,
            152.87405657041106,
            76.43702828507324,
            38.21851414253662,
            19.10925707126831,
            9.554628535634155,
            4.77731426794937,
            2.388657133974685
          ]
        },
        layerUrl: 'http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}'
      }
    ]
  });
  var echartslayer = new ol3Echarts(echartsOption, {
    source: '',
    destination: '',
    hideOnMoving: true,
    forcedRerender: false,
    forcedPrecomposeRerender: false
  });
  echartslayer.appendTo(Maps.getMap())
</script>

截图示例

散点图

迁徙图

微博签到数据点亮**

其他示例请自己挖掘

致谢

echarts openlayers

License

FOSSA Status

ol3echarts's People

Contributors

dependabot[bot] avatar fossabot avatar hansz00 avatar kyleinfo avatar sakitam-fdd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ol3echarts's Issues

coordinateSystem的问题

if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar')
报错:
TypeError: Cannot read properties of null (reading 'type')
at ExtendedClass.render (HeatmapView.js?480e:116:1)
at Task.progress (Chart.js?e887:281:1)
请问是怎么回事呢?
我是想渲染热力图
{ type: 'heatmap', coordinateSystem: "openlayers", data: heatPoints[j], pointSize: 5, blurSize: 15, },

openlayers 使用的异常!

使用echart和openlayers 3单独能够成图。使用ol-echart报js异常,不能显示图形:其中差异代码如下

  //echart能成图的代码
var dom = document.getElementById("container");
var myChart = echarts.init(dom);
myChart.setOption(option, true);
  
 //olechart不能成图代码:

   var echartslayer = new ol3Echarts(option);
   echartslayer.appendTo(Maps);

//完整代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <title>openlayers扩展实例</title>
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/openlayers/dist/ol.css">
  <style>
    html, body, #map {
      height: 100%;
      padding: 0;
      margin: 0;
    }
  </style>
</head>
<body>
<div id="map"></div>
 <div id="container" style="height: 100%"></div>
 
 
       
 
       
		<script src="https://cdn.jsdelivr.net/npm/openlayers/dist/ol.js"></script>
 
		   <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/echarts.min.js"></script>
	 
       <script type="text/javascript" src="http://echarts.baidu.com/gallery/vendors/echarts/map/js/world.js"></script>
		
		<script src="https://cdn.jsdelivr.net/npm/ol3-echarts/dist/ol3Echarts.js"></script>
 
<script>
  var Maps = new ol.Map({
    target: 'map',
    layers: [
      new ol.layer.Tile({
        preload: 4,
        source: new ol.source.OSM()
      })
    ],
    loadTilesWhileAnimating: true,
    view: new ol.View({
      projection: 'EPSG:4326',
      center: [113.53450137499999, 34.44104525],
      zoom: 5
    })
  });
  
  var option = {
		    title: {
		        text: 'World Population (2010)',
		        subtext: 'from United Nations, Total population, both sexes combined, as of 1 July (thousands)',
		        sublink: 'http://esa.un.org/wpp/Excel-Data/population.htm',
		        left: 'center',
		        top: 'top'
		    },
		    tooltip: {
		        trigger: 'item',
		        formatter: function (params) {
		            var value = (params.value + '').split('.');
		            value = value[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,')
		                    + '.' + value[1];
		            return params.seriesName + '<br/>' + params.name + ' : ' + value;
		        }
		    },
		    toolbox: {
		        show: true,
		        orient: 'vertical',
		        left: 'right',
		        top: 'center',
		        feature: {
		            dataView: {readOnly: false},
		            restore: {},
		            saveAsImage: {}
		        }
		    },
		    visualMap: {
		        min: 0,
		        max: 1000000,
		        text:['High','Low'],
		        realtime: false,
		        calculable: true,
		        inRange: {
		            color: ['lightskyblue','yellow', 'orangered']
		        }
		    },
		    series: [
		        {
		            name: 'World Population (2010)',
		            type: 'map',
		            mapType: 'world',
		            roam: true,
		            itemStyle:{
		                emphasis:{label:{show:true}}
		            },
		            data:[
		                {name: 'Afghanistan', value: 28397.812},
		                {name: 'Angola', value: 19549.124},
		                {name: 'Albania', value: 3150.143},
		                {name: 'United Arab Emirates', value: 8441.537},
		                {name: 'Argentina', value: 40374.224},
		                {name: 'Armenia', value: 2963.496},
		                {name: 'French Southern and Antarctic Lands', value: 268.065},
		                {name: 'Australia', value: 22404.488},
		                {name: 'Austria', value: 8401.924},
		                {name: 'Azerbaijan', value: 9094.718},
		                {name: 'Burundi', value: 9232.753},
		                {name: 'Belgium', value: 10941.288},
		                {name: 'Benin', value: 9509.798},
		                {name: 'Burkina Faso', value: 15540.284},
		                {name: 'Bangladesh', value: 151125.475},
		                {name: 'Bulgaria', value: 7389.175},
		                {name: 'The Bahamas', value: 66402.316},
		                {name: 'Bosnia and Herzegovina', value: 3845.929},
		                {name: 'Belarus', value: 9491.07},
		                {name: 'Belize', value: 308.595},
		                {name: 'Bermuda', value: 64.951},
		                {name: 'Bolivia', value: 716.939},
		                {name: 'Brazil', value: 195210.154},
		                {name: 'Brunei', value: 27.223},
		                {name: 'Bhutan', value: 716.939},
		                {name: 'Botswana', value: 1969.341},
		                {name: 'Central African Republic', value: 4349.921},
		                {name: 'Canada', value: 34126.24},
		                {name: 'Switzerland', value: 7830.534},
		                {name: 'Chile', value: 17150.76},
		                {name: 'China', value: 1359821.465},
		                {name: 'Ivory Coast', value: 60508.978},
		                {name: 'Cameroon', value: 20624.343},
		                {name: 'Democratic Republic of the Congo', value: 62191.161},
		                {name: 'Republic of the Congo', value: 3573.024},
		                {name: 'Colombia', value: 46444.798},
		                {name: 'Costa Rica', value: 4669.685},
		                {name: 'Cuba', value: 11281.768},
		                {name: 'Northern Cyprus', value: 1.468},
		                {name: 'Cyprus', value: 1103.685},
		                {name: 'Czech Republic', value: 10553.701},
		                {name: 'Germany', value: 83017.404},
		                {name: 'Djibouti', value: 834.036},
		                {name: 'Denmark', value: 5550.959},
		                {name: 'Dominican Republic', value: 10016.797},
		                {name: 'Algeria', value: 37062.82},
		                {name: 'Ecuador', value: 15001.072},
		                {name: 'Egypt', value: 78075.705},
		                {name: 'Eritrea', value: 5741.159},
		                {name: 'Spain', value: 46182.038},
		                {name: 'Estonia', value: 1298.533},
		                {name: 'Ethiopia', value: 87095.281},
		                {name: 'Finland', value: 5367.693},
		                {name: 'Fiji', value: 860.559},
		                {name: 'Falkland Islands', value: 49.581},
		                {name: 'France', value: 63230.866},
		                {name: 'Gabon', value: 1556.222},
		                {name: 'United Kingdom', value: 62066.35},
		                {name: 'Georgia', value: 4388.674},
		                {name: 'Ghana', value: 24262.901},
		                {name: 'Guinea', value: 10876.033},
		                {name: 'Gambia', value: 1680.64},
		                {name: 'Guinea Bissau', value: 10876.033},
		                {name: 'Equatorial Guinea', value: 696.167},
		                {name: 'Greece', value: 11109.999},
		                {name: 'Greenland', value: 56.546},
		                {name: 'Guatemala', value: 14341.576},
		                {name: 'French Guiana', value: 231.169},
		                {name: 'Guyana', value: 786.126},
		                {name: 'Honduras', value: 7621.204},
		                {name: 'Croatia', value: 4338.027},
		                {name: 'Haiti', value: 9896.4},
		                {name: 'Hungary', value: 10014.633},
		                {name: 'Indonesia', value: 240676.485},
		                {name: 'India', value: 1205624.648},
		                {name: 'Ireland', value: 4467.561},
		                {name: 'Iran', value: 240676.485},
		                {name: 'Iraq', value: 30962.38},
		                {name: 'Iceland', value: 318.042},
		                {name: 'Israel', value: 7420.368},
		                {name: 'Italy', value: 60508.978},
		                {name: 'Jamaica', value: 2741.485},
		                {name: 'Jordan', value: 6454.554},
		                {name: 'Japan', value: 127352.833},
		                {name: 'Kazakhstan', value: 15921.127},
		                {name: 'Kenya', value: 40909.194},
		                {name: 'Kyrgyzstan', value: 5334.223},
		                {name: 'Cambodia', value: 14364.931},
		                {name: 'South Korea', value: 51452.352},
		                {name: 'Kosovo', value: 97.743},
		                {name: 'Kuwait', value: 2991.58},
		                {name: 'Laos', value: 6395.713},
		                {name: 'Lebanon', value: 4341.092},
		                {name: 'Liberia', value: 3957.99},
		                {name: 'Libya', value: 6040.612},
		                {name: 'Sri Lanka', value: 20758.779},
		                {name: 'Lesotho', value: 2008.921},
		                {name: 'Lithuania', value: 3068.457},
		                {name: 'Luxembourg', value: 507.885},
		                {name: 'Latvia', value: 2090.519},
		                {name: 'Morocco', value: 31642.36},
		                {name: 'Moldova', value: 103.619},
		                {name: 'Madagascar', value: 21079.532},
		                {name: 'Mexico', value: 117886.404},
		                {name: 'Macedonia', value: 507.885},
		                {name: 'Mali', value: 13985.961},
		                {name: 'Myanmar', value: 51931.231},
		                {name: 'Montenegro', value: 620.078},
		                {name: 'Mongolia', value: 2712.738},
		                {name: 'Mozambique', value: 23967.265},
		                {name: 'Mauritania', value: 3609.42},
		                {name: 'Malawi', value: 15013.694},
		                {name: 'Malaysia', value: 28275.835},
		                {name: 'Namibia', value: 2178.967},
		                {name: 'New Caledonia', value: 246.379},
		                {name: 'Niger', value: 15893.746},
		                {name: 'Nigeria', value: 159707.78},
		                {name: 'Nicaragua', value: 5822.209},
		                {name: 'Netherlands', value: 16615.243},
		                {name: 'Norway', value: 4891.251},
		                {name: 'Nepal', value: 26846.016},
		                {name: 'New Zealand', value: 4368.136},
		                {name: 'Oman', value: 2802.768},
		                {name: 'Pakistan', value: 173149.306},
		                {name: 'Panama', value: 3678.128},
		                {name: 'Peru', value: 29262.83},
		                {name: 'Philippines', value: 93444.322},
		                {name: 'Papua New Guinea', value: 6858.945},
		                {name: 'Poland', value: 38198.754},
		                {name: 'Puerto Rico', value: 3709.671},
		                {name: 'North Korea', value: 1.468},
		                {name: 'Portugal', value: 10589.792},
		                {name: 'Paraguay', value: 6459.721},
		                {name: 'Qatar', value: 1749.713},
		                {name: 'Romania', value: 21861.476},
		                {name: 'Russia', value: 21861.476},
		                {name: 'Rwanda', value: 10836.732},
		                {name: 'Western Sahara', value: 514.648},
		                {name: 'Saudi Arabia', value: 27258.387},
		                {name: 'Sudan', value: 35652.002},
		                {name: 'South Sudan', value: 9940.929},
		                {name: 'Senegal', value: 12950.564},
		                {name: 'Solomon Islands', value: 526.447},
		                {name: 'Sierra Leone', value: 5751.976},
		                {name: 'El Salvador', value: 6218.195},
		                {name: 'Somaliland', value: 9636.173},
		                {name: 'Somalia', value: 9636.173},
		                {name: 'Republic of Serbia', value: 3573.024},
		                {name: 'Suriname', value: 524.96},
		                {name: 'Slovakia', value: 5433.437},
		                {name: 'Slovenia', value: 2054.232},
		                {name: 'Sweden', value: 9382.297},
		                {name: 'Swaziland', value: 1193.148},
		                {name: 'Syria', value: 7830.534},
		                {name: 'Chad', value: 11720.781},
		                {name: 'Togo', value: 6306.014},
		                {name: 'Thailand', value: 66402.316},
		                {name: 'Tajikistan', value: 7627.326},
		                {name: 'Turkmenistan', value: 5041.995},
		                {name: 'East Timor', value: 10016.797},
		                {name: 'Trinidad and Tobago', value: 1328.095},
		                {name: 'Tunisia', value: 10631.83},
		                {name: 'Turkey', value: 72137.546},
		                {name: 'United Republic of Tanzania', value: 44973.33},
		                {name: 'Uganda', value: 33987.213},
		                {name: 'Ukraine', value: 46050.22},
		                {name: 'Uruguay', value: 3371.982},
		                {name: 'United States of America', value: 312247.116},
		                {name: 'Uzbekistan', value: 27769.27},
		                {name: 'Venezuela', value: 236.299},
		                {name: 'Vietnam', value: 89047.397},
		                {name: 'Vanuatu', value: 236.299},
		                {name: 'West Bank', value: 13.565},
		                {name: 'Yemen', value: 22763.008},
		                {name: 'South Africa', value: 51452.352},
		                {name: 'Zambia', value: 13216.985},
		                {name: 'Zimbabwe', value: 13076.978}
		            ]
		        }
		    ]
		};
  
 	//var echartslayer = new ol3Echarts(option);
 	//echartslayer.appendTo(Maps);
 	
 	var dom = document.getElementById("container");
	var myChart = echarts.init(dom);
	myChart.setOption(option, true);
</script>
</body>
</html>

Display bar chart in popup .

Hi,
I have district data but it is in two different formats (Json and CSV).So json file is used in OL3 and CSV file .Both files are having same attributes with same name. If user clicked on any district ,Popup chart will appear and inside popup square bar chart will display.
Is it possible to do bar chart inside popup using these library in ol3.

Thanks.

bug - map 销毁问题

环境

  • "ol": "^6.1.1"
  • "ol-echarts": "^2.0.3"
  • "echarts": "^4.9.0"
  • vuejs : 2.6.11

问题

绑定 vue 组件的 beforeDestroy 事件, 调用 map.removeLayer 移除 EChartsLayer 实例 时报错:

Cannot read property '0' of undefined
at EChartsLayer.push../node_modules/ol-echarts/dist/ol-echarts.esm.js.EChartsLayer.updateViewSize

经调试发现, EChartsLayer 创建实例时会监听 map 的 resize 事件, 但在 vue 组件销毁时, map.getSize() 返回的是 undefined, 从而引发了上述错误.

临时的解决方法是在 EChartsLayer 初始化之前监听 map 的 resize 事件, 如果 map.getSize()undefined 则解除绑定 EChartsLayer#onResize

map.on('change:size', (e) => {
  if(!map.getSize()) {
    map.un('change:size', echartsLayer.onResize)
  }
})

How to run the code?

Hi

I found the examples screenshot are really interesting. How I can run it locally?

Seccess on step 1 "yarn run bootstrap".

I got this when run "yarn run dev". How I can check the pages in the web browser?

Thanks in advance.

~/dev/webgis/test/ol3Echarts:master$ yarn run dev
yarn run v1.22.5
$ lerna run dev
lerna notice cli v3.22.1
lerna info Executing command in 2 packages: "yarn run dev"

toolTip超出地图范围有问题

使用ReadMe中的数据和例子 拖动地图当图标超出地图div范围时,图例线被拉长了,一直在屏幕下面
ol版本6.3.1

企业微信截图_20200618182409

setChartOptions does not exist

Hi
When using EChartsLayer from ol-echarts in my Angular7 app, compiler throws multiple errors:
I get this error

 error TS2554: Expected 0 arguments, but got 2.  

when I use

this.echartslayer = new EChartsLayer(this.chartOption, {
      hideOnMoving: false,
      hideOnZooming: false,
      forcedPrecomposeRerender: true
    });

When I specify

this.echartslayer.appendTo(this.map);

I get error

 error TS2339: Property 'appendTo' does not exist on type 'EChartsLayer'.

and finally following error when I want to update the chart option on data change

 error TS2339: Property 'setChartOptions' does not exist on type 'EChartsLayer'.

Could you please help in resolving these errors?

Uncaught TypeError: EChartsLayer__default.default is not a constructor

您好,使用过程中遇到两个问题:
1、我想把功能封装成接口使用,用 import EChartsLayer from 'ol-echarts'; 方式引入,再用rollup打包,外部调用时出现Uncaught TypeError: EChartsLayer__default.default is not a constructor 报错
请问是什么问题?
2、另请指教:setMap方法中,为何需要判断map instanceof ol.Map ?调用我自己封装的库(npm引的ol),cdn方式引的ol-echarts,这边map对象判断会一直过不去?
谢谢

visualMap组件无法操控

使用Echarts官方的PM2.5的示例代码,修改(删去一些属性)之后加入OpenLayers中,发现左下角的visualMap组件无法操控。

使用的包有:

"echarts": "^4.1.0",
"ol": "^5.2.0",
"ol-echarts": "^1.3.5",
"react": "^16.6.0",
"react-dom": "^16.6.0",
"react-scripts": "2.0.5"

代码是这样的:

import React, { Component } from 'react';
import { Map, View } from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM'
import 'ol/ol.css';
import EChartsLayer from 'ol-echarts';
import './App.css';

class App extends Component {
  constructor (props, context) {
    super(props, context);
    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 OSM()
        })
      ]
    });

    const 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]
    };

    const convertData = function (data) {
      const res = [];
      for (let i = 0; i < data.length; i++) {
        const geoCoord = geoCoordMap[data[i].name];
        if (geoCoord) {
          res.push({
            name: data[i].name,
            value: geoCoord.concat(data[i].value)
          });
        }
      }
      return res;
    };

    const option = {
      tooltip: {
        trigger: 'item',
        formatter: function (params) {
          return params.name + ' : ' + params.value[2];
        }
      },
      visualMap: {
        min: 0,
        max: 200,
        calculable: true,
        inRange: {
          color: ['#50a3ba', '#eac736', '#d94e5d']
        },
        textStyle: {
          color: '#fff'
        }
      },
      series: [
        {
          name: 'pm2.5',
          type: 'scatter',
          coordinateSystem: 'geo',
          data: convertData([
            {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}
          ]),
          symbolSize: 12,
          label: {
            normal: {
              show: false
            },
            emphasis: {
              show: false
            }
          },
          itemStyle: {
            emphasis: {
              borderColor: '#fff',
              borderWidth: 1
            }
          }
        }
      ]
    };

    const echartslayer = new EChartsLayer(option, {
      hideOnMoving: false,
      hideOnZooming: false,
      forcedPrecomposeRerender: true
    });
    echartslayer.appendTo(this.map);
  }

  setRef = (x = null) => {
    this.container = x;
  };

  render() {
    return (<div ref={this.setRef} className="map-content" />);
  }
}

export default App;

请问这个……有办法吗?

how to add a click event in ol3Echarts

Hello
Dear, I want to know how to add a click event in the ol3Echarts.
This is my example,but it's not successful. Can you help me to sovle it,please?

  `        __this.echartLayer.appendTo(__this.map);

            //chart click event
            __this.echartLayer.$chart.on('click', (evt) => {
                console.log(evt);
            });
  `

  **But it's successful to add a click event for charts in native Echarts** 
 **Thank you very much**

lines飞线投影

使用geoJSON渲染openlayers,设置projection:'EPSG:4326'的话,地图会变扁,如果不设置Projection,echarts的lines飞线无法显示

在react项目中,使用本工具,出错!

错误:TypeError: Cannot read property 'once' of null
错误位置:
170 | ],
171 | };
172 |

173 | this.emap.map.once('postrender', function(e) {
174 | if (echartslayer !== undefined) {
175 | return;
176 | }

bug - openlayers v6.4.3

环境

  • "ol": "^6.4.3"
  • "ol-echarts": "^2.0.3"
  • "echarts": "^4.9.0"

问题

以这个 饼图 demo 为例, 如果把 ol 依赖从 6.1.1 改为 6.4.3, 则地图初始化后, 再点击地图, 出现报错: Cannot read property 'button' of undefined

如果设置 polyfillEvents: false 可以解决该问题, 但饼图的 hover 事件就无效了

echarts导入问题

  • 环境

    "echarts": "^4.6.0",
    "ol": "^5.3.3",
    "vue": "^3.2.25",
    "vue-router": "^4.0.14",
    "vuex": "^4.0.2",
    打包工具
    "vite": "^2.8.0",

  • 问题

QKV(4G$8)%XG K(TDI5VRP

mapBrowserPointerEvent

用ol6.5.0版本时,鼠标悬浮在点上的时候,会报错,不出现悬浮窗体了。ol降版本到6.1.1则不会出现该问题。
原因是ol 6.5.0没有mapBrowserPointerEvent,统一改为了mapBrowserEvent。
EChartsLayer.prototype.mouseMove = function (event) {
if (this.$chart) {
var target = event.originalEvent.target;
while (target) {
if (target.className === 'ol-overlaycontainer-stopevent') {
this.$chart.getZr().painter.getViewportRoot().dispatchEvent(mockEvent('mousemove', event));
return;
}
target = target.parentElement;
}
}
};
用ol6.5.0版本,这个event类型有问题。关于mouse的event都存在问题。

地图和图表鼠标事件冲突

环境:
"ol": "^6.1.1",
"ol-echarts": "^2.0.1",
"echarts": "^4.5.0",

第一种情况:var echartLayer = new EChartsLayer(option,{
source: 'EPSG:2437',
hideOnMoving: true,
insertFirst: true, // https://openlayers.org/en/latest/apidoc/module-ol_Overlay-Overlay.html
stopEvent: true, // https://openlayers.org/en/latest/apidoc/module-ol_Overlay-Overlay.html
polyfillEvents: false, // 代理echrats图层的 mousedown mouseup click 事件
});
stopEvent为ture是,echarts图标可以进行交互,但是openlayers就是去了交互,地图拖动缩放都失效
第一种情况: stopEvent为false是,情况正好相反,地图反应正常,图标无交互

问题

这是是react版本的是吗,有vue的吗

Cannot read properties of undefined (reading 'transform') MapDraw.draw (MapDraw.js:210:32)

i am using ol-echarts package here to draw the heatmap chart,
but getting the folloeing error while using appendTo

MapDraw.js:210 Uncaught TypeError: Cannot read properties of undefined (reading 'transform')
    at MapDraw.draw (MapDraw.js:210:32)
    at ExtendedClass.render (MapView.js:70:17)
    at Task.progress (Chart.js:281:20)
    at doProgress (task.js:217:11)
    at Task.taskProto.perform (task.js:157:9)
    at eval (echarts.js:1451:30)
    at ExtendedClass.eval (Global.js:517:10)
    at Array.forEach (<anonymous>)
    at each (util.js:300:9)
    at ExtendedClass.eachSeries (Global.js:514:5)

about click event

Hello
Dear, I want to know how to add a click event in the ol3Echarts.
This is my example,but it's not successful. Can you help me to sovle it,please?
__this.echartLayer.appendTo(__this.map);

            //chart click event
            __this.echartLayer.$chart.on('click', (evt) => {
                console.log(evt);
            });


But it's successful to add a click event for charts in native Echarts 

地图自动出现或缩放后不显示

1、设置hideOnMoving和hideOnZooming为true
2、调用setVisible,设置地图隐藏
3、缩放或移动地图结束,地图显示了(预期隐藏)
4、调用setVisible,设置地图可见,地图不显示(预期显示)

饼图tooltip悬浮窗没有出现

"ol": "^6.1.1"
"ol-echarts": "^2.0.1"
"vue-element-admin": "4.2.1"
使用饼图的时候,悬浮窗没有出现,用console.log去调试,发现悬浮事件也没有触发
var options = { tooltip : { show : true, trigger: 'item', formatter: function(params){ console.log(params) }, }, series: [], color: ['#0085c7','#18db94','#ff6600','#e31b14'] };

echarts geo maps are not working

Hi @sakitam-fdd , while using geo maps
echarts.registerMap('geo', geojson)
var echartslayer = new EChartsLayer(chartOption, {forcedRerender: false,
hideOnMoving: false,
hideOnZooming: false,
polyfillEvents: false,});

getting error as :

   MapDraw.js:211 Uncaught TypeError: geo.getTransformInfo is not a function
    at MapDraw.draw (MapDraw.js:211:29)
    at ExtendedClass.render (MapView.js:70:17)
    at Task.progress (Chart.js:281:20)
    at doProgress (task.js:217:11)
    at Task.taskProto.perform (task.js:157:9)
    at eval (echarts.js:1474:30)
    at ExtendedClass.eval (Global.js:517:10)
    at Array.forEach (<anonymous>)
    at each (util.js:300:9)
    at ExtendedClass.eachSeries (Global.js:514:5)

如何加载百度瓦片地图?

你好, 我看了下案例, 没有涉及加载百度瓦片地图的,想问一下,如何加载百度瓦片地图,参照ol的方式对baseLayers进行了改写,但是发现还是不行,希望能解答一下,谢谢.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.