我们在使用百度地图的SDK时,有时地图上的logo,缩放按钮以及指南针的位置可能与我们自己的空间位置发生冲突,这就需要去手动调节这些小控件的位置以及是否显示等问题。
设置指南针的位置:
android.graphics.Point point = new android.graphics.Point(100,260); mapView.getMap().setCompassPosition(point);
自定义指南针图标:
mapView.getMap().setCompassIcon(Bitmap icon)
禁用指南针:
mapView.getMap().getUiSettings().setCompassEnabled(false);
设置logo的位置:
LogoPosition position = LogoPosition.logoPostionleftBottom; mapView.setLogoPosition(position)
有四种位置,然后使用设置padding调节位置:
mapView.getMap().setViewPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
这个logo是官方是不允许去除的,但是也是可以实现的:
// 隐藏logo View child = mapView.getChildAt(1); if (child != null && (child instanceof ImageView || child instanceof ZoomControls)){ child.setVisibility(View.INVISIBLE); }
设置比例尺的位置:
mapView.getMap().setOnMapLoadedCallback(new BaiduMap.OnMapLoadedCallback() { @Override public void onMapLoaded() { mapView.setScaleControlPosition(new Point(200,600)); } });
这个方法需要在地图加载完成的回调中设置才会生效
隐藏比例尺图标:
mapView.showScaleControl(false);
设置缩放控件的位置:
mapView.getMap().setOnMapLoadedCallback(new BaiduMap.OnMapLoadedCallback() { @Override public void onMapLoaded() { mapView.setZoomControlsPosition(new Point(200,600)) } });
隐藏缩放控件:
mapView.showZoomControls(boolean show)