在高德地图中,给我们的提示是不能移除logo的,但是既然是代码写的,我们肯定是有改的办法如何隐藏高德地图的logo(已解决)

重写mapview

public class MyMapView extends TextureMapView {

    private Context context;
    public MyMapView(Context context) {
        super(context);

    }

    public MyMapView(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
        init(context);
    }

    public MyMapView(Context context, AttributeSet attributeSet, int i) {
        super(context, attributeSet, i);
        init(context);
    }

    public MyMapView(Context context, AMapOptions aMapOptions) {
        super(context, aMapOptions);
        init(context);
    }

    private void init(Context context) {
        this.context = context;
        //view加载完成时回调
        this.getViewTreeObserver().addOnGlobalLayoutListener(
                new ViewTreeObserver.OnGlobalLayoutListener() {
                    @Override
                    public void onGlobalLayout() {
                        ViewGroup child = (ViewGroup) getChildAt(0);//地图框架
                        // child.getChildAt(0).setVisibility(View.VISIBLE);//地图
                        child.getChildAt(2).setVisibility(View.GONE);//logo
                        // child.getChildAt(5).setVisibility(View.VISIBLE);//缩放按钮
                        // child.getChildAt(6).setVisibility(View.VISIBLE);//定位按钮
                        // child.getChildAt(7).setVisibility(View.VISIBLE);//指南针
                    }
                });
    }

然后重新引用此类,将可以成功隐藏此logo

相关文章: