Incubator-echarts: echart3 地图如何获取经纬度坐标,鼠标点击地图的时候,可以获取点击地方的经纬度(如何通过鼠标点击的地方的坐标转化为对应的经纬度坐标)

Created on 5 Jun 2017  ·  5Comments  ·  Source: apache/incubator-echarts


echart3 地图如何获取经纬度坐标,鼠标点击地图的时候,可以获取点击地方的经纬度(如何通过鼠标点击的地方的坐标转化为对应的经纬度坐标)

One-line summary [问题简述]

方法1:在网上找了这个方法,但是打印出来没有__graphicEls和__itemLayouts方法
var seriesModel = myChartworld.getModel().getSeriesByIndex(0);
var model1 = myChartworld.getModel().getSeries()[0];
console.log(seriesModel);
console.log(model1);
console.log(model1.__graphicEls);

        console.log(model1.__itemLayouts);

方法2:使用以下方法,但是坐标打印出值,不正确
myChartworld.on('click', function (params) {
console.log(params);
var mouseEvent = params.event;
var event = mouseEvent.event;
var pageX = event.pageX;
var pageY = event.pageY;

        var arr = [pageX, pageY];
        // 获取地理坐标系实例
        var coordSys = seriesModel.coordinateSystem;
        // dataToPoint 相当于 getPosByGeo
        var point = coordSys.dataToPoint(arr);

// console.log(point);
// pointToData 相当于 getGeoByPos
var coord = coordSys.dataToPoint(arr);

Version & Environment [版本及环境]

  • ECharts version [ECharts 版本]:echarts-all-3.js
  • Browser version [浏览器类型和版本]: chrome
  • OS Version [操作系统类型和版本]:windows 7

Expected behaviour [期望结果]

鼠标点击地图的中的某个国家,可以正确获得该国家的经纬度坐标

ECharts option [ECharts配置项]


option = {

}

Other comments [其他信息]


stale

Most helpful comment

现在已经变成了
myMapBoj.getModel().getSeriesByIndex(0).coordinateSystem._nameCoordMap['_ec_'+params.name]

All 5 comments

谢谢,我刚刚试了下,用这个方法可以:

document.oncontextmenu = function () { return false; }; 
        var globalpoint;
        //新加上鼠标右击事件,右键点击缩小
        myChartworld.on('contextmenu', function (params) {
            if(globalpoint == "" || globalpoint == undefined || globalpoint == null)
            {
                myChartworld.setOption({
                    series: [{                      
                        zoom: 1.25,
                        animationDurationUpdate: 1000,
                        animationEasingUpdate: 'cubicInOut'
                    }]
                });
            }
            else
            {
                myChartworld.setOption({
                    series: [{
                        center: globalpoint,
                        zoom: 1.25,
                        animationDurationUpdate: 1000,
                        animationEasingUpdate: 'cubicInOut'
                    }]
                });
            }

         }); 

        //鼠标左键点击放大
        myChartworld.on('click', function (params) {
            var name = params.data.name;        
            var seriesModel = myChartworld.getModel().getSeriesByIndex(0);
            var point = seriesModel.coordinateSystem._nameCoordMap[name];
            globalpoint = point;
            myChartworld.setOption({
                series: [{
                    center: point,
                    zoom: 5,
                    animationDurationUpdate: 1000,
                    animationEasingUpdate: 'cubicInOut'
                }]
            });
        });

但是有个问题,缩小的时候并没有以我放大的那个中心点进行,我想缩小的时候还能变回原图

中国地图中心点 经纬度是多少谁知道,谢谢!

现在已经变成了
myMapBoj.getModel().getSeriesByIndex(0).coordinateSystem._nameCoordMap['_ec_'+params.name]

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings