需求

在使用百度地图进行页面设计时,如果数据涉及区域只集中在某一块地区(例如数据涉及地区均在北京天津地区),但打开报表后百度地图默认显示的中心点位置是北京,放大倍数是将全国地区都放在页面里显示,需要针对北京天津地区进行手工放大才能看到里面的数据标记点。如何能做到百度地图默认定位中心点并放大中心点附近地图区域呢?

方案

此问题需要通过编辑宏解决,详细步骤如下:

1、新建一个客户端宏,如下图设置模块名称,对象和事件;

2、在代码页面添加如下代码并点击保存。

function main(chartView) {debugger;
    var chart = chartView.getChartObject();
    var gridData = chartView.getGridData();
    var option = chart.getOptions();
    //获取第一行数据的经度、维度。需根据数据集自行调整
    var lng = chartView.chartDefine.chartdata.data[0][1].value;
    var lat = chartView.chartDefine.chartdata.data[0][2].value;
    //设置地图中心坐标
    option.bmap.center= [lng, lat];
    option.bmap.roam=true;
    //设置放大倍数
    option.bmap.zoom=14;
    chart.setOptions(option);
}

3、保存宏后再次打开报表,显示的效果如下图: