echart3 地图如何获取经纬度坐标,鼠标点击地图的时候,可以获取点击地方的经纬度(如何通过鼠标点击的地方的坐标转化为对应的经纬度坐标)
方法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);
鼠标点击地图的中的某个国家,可以正确获得该国家的经纬度坐标
option = {
}
谢谢,我刚刚试了下,用这个方法可以:
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.
Most helpful comment
现在已经变成了
myMapBoj.getModel().getSeriesByIndex(0).coordinateSystem._nameCoordMap['_ec_'+params.name]