问题描述
最近在接入百度地图比例尺的时候遇到了一个问题,就是在使用百度地图比例尺的时候比例尺总会发生偏移。代码根据百度地图API应该如下(在onMapLoadFinish接口回调里执行定位操作):
@Override
public void onMapLoaded() {
Point point = new Point();
point.x = 30;//这里是我举例子随便写的值
point.y = 80;
mMapView.setScaleControlPosition(point);
}
根据百度地图文档,在这里设置比例尺的位置应该是正确的:
setScaleControlPosition
public void setScaleControlPosition(Point p)
设置比例尺控件的位置,在 onMapLoadFinish 后生效
参数:
p - 比例尺控件的位置
但是在进入应用之后总发现比例尺发生了一些偏移。但是如上寥寥几行代码实在分析不出什么东西。
问题解决
经过测试,我的代码在如下情况会出现偏移:
startActivity(new Intent(StartActivity.this, MainActivityV2.class));
overridePendingTransition(0, 0);
finish();
但是经过调整finish();的位置,发现比例尺偏移可以解决,如下:
finish();
startActivity(new Intent(StartActivity.this, MainActivityV2.class));
overridePendingTransition(0, 0);
也就是这样把finish()调整到跳转的代码前面可以解决我的问题,也就是百度地图比例尺偏移的问题。
在这里我把它作为一个tip记录下来,也希望能有一些帮助~