apache / echarts

Apache ECharts is a powerful, interactive charting and data visualization library for browser
https://echarts.apache.org
Apache License 2.0
60.21k stars 19.6k forks source link

3.0地图经纬坐标与当前页面横纵坐标互相获取问题 #2540

Closed ahxukai closed 8 years ago

ahxukai commented 8 years ago

2.0时代,地图有个方法是getPosByGeo,可以根据店的经纬度获取点在当前页面的横纵坐标,方便我们自定义弹框啥的在当前点上面,现在3.0有类似的方法吗?我在官方给的配置项里面没有找到,api里面也没有给出,请问是否是其他写法还是没有把此方法加入到api中去,如果没有,以后会不会加入进去?个人觉得此方法非常好用,满足我的自定义需求。

pissang commented 8 years ago

暂时没有放出接口,如果需要使用的话可以用如下方式:

// 获取系列
var seriesModel = chart.getModel().getSeriesByIndex(idx)
// 获取地理坐标系实例
var coordSys = seriesModel.coordinateSystem;
// dataToPoint 相当于 getPosByGeo
var point = coordSys.dataToPoint([lng, lat]);
// pointToData 相当于 getGeoByPos
var coord = coordSys.dataToPoint(point);

3.0 里面大多数图表的系列都会拥有自己的坐标系(诸如笛卡尔,极坐标,地理坐标)实例,所以只要获取这个坐标系实例后就可以统一使用 dataToPointpointToData 方法进行数据和像素位置的转换。

当然这个方式还是有点繁琐的,后面会考虑更方便的接口放出来,如果需要急着使用,可以自行封装一下上述代码进行使用

ahxukai commented 8 years ago

谢了,暂时就用你给的方法了,能用就行,希望以后加入到官网说明的api里面去,直接用类似myChart.getPosByGeo()的方式就能调用。

dounai1306 commented 6 years ago

那echarts4有没有类似的方法呢?