AI 地图
产品服务
解决方案
文档与支持
定价
更新时间: 2026/07/20 14:48

控件是负责与地图交互的UI元素,百度地图JS API支持比例尺、缩放、定位、城市选择列表、版权,以及自定义控件。

详情可见类参考

控件类名简介

抽象基类

所有控件均继承此类的方法、属性。通过此类您可实现自定义控件

比例尺

默认位于地图左下方,显示地图的比例关系

缩放

默认位于地图右下方,控制地图级别的缩放

定位

默认位于地图左下方,用于获取定位

城市选择列表

默认位于地图左上方,用于进行城市选择定位

地图类型

默认位于地图右上方,控制地图类型

地图控制

默认位于地图左上方,控制地图平移、缩放级别、定位

地图3D控制

默认位于地图右上方,控制地图旋转、倾斜

鹰眼地图

默认位于地图右下方,显示鹰眼地图

向地图添加控件

使用map.addControl(control)方法向地图添加控件。

1. 完成地图初始化
var map = new BMap.Map("allmap"); // 创建Map实例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
2. 声明控件并添加到地图中
var scaleCtrl = new BMap.ScaleControl(); // 添加比例尺控件
map.addControl(scaleCtrl);
var zoomCtrl = new BMap.ZoomControl(); // 添加缩放控件
map.addControl(zoomCtrl);
var cityCtrl = new BMap.CityListControl(); // 添加城市列表控件
map.addControl(cityCtrl);
控制控件位置

初始化控件时,可提供一个可选参数,其中的anchor和offset属性共同控制控件在地图上的位置。 anchor表示控件的停靠位置,即控件停靠在地图的哪个角。当地图尺寸发生变化时,控件会根据停靠位置的不同来调整自己的位置。

anchor值位置说明

BMAP_ANCHOR_TOP_LEFT

表示控件定位于地图的左上角

BMAP_ANCHOR_TOP_RIGHT

表示控件定位于地图的右上角

BMAP_ANCHOR_BOTTOM_LEFT

表示控件定位于地图的左下角

BMAP_ANCHOR_BOTTOM_RIGHT

表示控件定位于地图的右下角

控件位置偏移

除了指定停靠位置外,还可以通过偏移量来指示控件距离地图边界有多少像素。如果两个控件的停靠位置相同,那么控件可能会重叠在一起,这时就可以通过偏移值使二者分开显示。
如下示例为:将比例尺放置在地图的左下角,由于API默认会有版权信息,因此需要添加一些偏移值以防止控件重叠。

var opts = {
offset: new BMap.Size(150, 5)
}
// 创建比例尺控件
var scaleControl = new BMap.ScaleControl(opts);
// 添加控件
map.addControl(scaleControl);
// 移除控件
map.removeControl(scaleControl);

上一篇

地图交互与事件

下一篇

右键菜单
本篇文章对您是否有帮助?