在项目中,我们常常需要动态设置底图样式,中心点等属性,mapbox设置属性的前提是获得底图实例。
在echarts+mapbox开发时,mapbox是在eCharts的Options中定义的,因此获取mapbox实例要靠eCharts提供的方法获得。
以eCharts图表命名为chart为例,获取底图的方法为:
var map=chart.getModel().getComponent('mapbox3D').getMapbox();
获得的map即为mapbox实例,可以对其设置属性、添加事件、控件或获得实时属性
获得底图中心点及缩放等级
//获取前面的参数,以获得更加流畅的效果
var map=chart.getModel().getComponent('mapbox3D').getMapbox()
var mapcenter=map.getCenter() //获得底图中心点
var cent=[mapcenter.lng,mapcenter.lat];
var mapzoom=map.getZoom() //获得底图缩放等级
设置底图标注语言
var map=chart.getModel().getComponent('mapbox3D').getMapbox()
map.addControl(new MapboxLanguage({
defaultLanguage: 'zh'
}));
},