百度地图比例尺位置偏移的一种解决方法

问题描述

最近在接入百度地图比例尺的时候遇到了一个问题,就是在使用百度地图比例尺的时候比例尺总会发生偏移。代码根据百度地图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记录下来,也希望能有一些帮助~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值