在手机中使用百度地图,通常的方法是在布局文件中配置MapView控件,但是这样显示出的地图,无法去掉地图上的缩放按钮和比例尺标记。
如果要实现以上需求,就不能再布局文件中直接配置百度地图,而要在代码中动态加载:
BaiduMapOptions options = new BaiduMapOptions();
options.zoomControlsEnabled(false);
options.scaleControlEnabled(false);
mapView = new MapView(mContext, options);
RelativeLayout.LayoutParams params_map = new RelativeLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
bd_mapView_container.addView(mapView, params_map);
其中bd_mapView_container是百度地图要添加到的父布局,可以根据程序自行更改。
这里父布局是一个RelativeLayout,因此params_map为RelativeLayout.LayoutParams类型,如父布局为其他布局类型需要修改对应的LayoutParams类型。
控制百度地图的关键类为BaiduMapOptions,其API如下
BaiduMapOptions compassEnabled(boolean enabled)
//设置是否允许指南针,默认允许。
BaiduMapOptions mapStatus(MapStatus status)
//设置地图初始化时的地图状态, 默认地图中心点为北京天安门,缩放级别为 12.0f
BaiduMapOptions mapType(int mapType)
//设置地图模式,默认普通地图
BaiduMapOptions overlookingGesturesEnabled(boolean enabled)
//设置是否允许俯视手势,默认允许
BaiduMapOptions rotateGesturesEnabled(boolean enabled)
//设置是否允许旋转手势,默认允许
BaiduMapOptions scaleControlEnabled(boolean enabled)
//设置是否显示比例尺控件
BaiduMapOptions scrollGesturesEnabled(boolean enabled)
//设置是否允许拖拽手势,默认允许
BaiduMapOptions zoomControlsEnabled(boolean enabled)
//设置是否显示缩放控件
BaiduMapOptions zoomGesturesEnabled(boolean enabled)
//设置是否允许缩放手势
通过控制BaiduMapOptions的相应选项,即可在动态添加百度地图时实现相应效果。
例如要隐藏缩放控件,就需要使用zoomControlsEnabled(false)方法。