ScaleControl
此类表示比例尺控件。
构造函数
| 构造函数 | 描述 |
|---|---|
| ScaleControl(opts: ScaleControlOptions) | 创建一个比例尺控件 |
方法
| 方法 | 返回值 | 描述 |
|---|---|---|
| getUnit() | LengthUnit | 返回比例尺单位制 |
| setUnit(unit: LengthUnit) | none | 设置比例尺单位制 |
示例
javascript
// 创建比例尺控件
var scaleCtrl = new BMapGL.ScaleControl({
anchor: BMAP_ANCHOR_BOTTOM_LEFT, // 设置控件位置
offset: new BMapGL.Size(10, 10) // 设置偏移量
});
// 添加到地图
map.addControl(scaleCtrl);
// 切换单位制
scaleCtrl.setUnit(BMAP_UNIT_IMPERIAL); // 设置为英制单位常见用途
- 添加基础比例尺控件
javascript
map.addControl(new BMapGL.ScaleControl());- 自定义位置的比例尺控件
javascript
var scaleCtrl = new BMapGL.ScaleControl({
anchor: BMAP_ANCHOR_TOP_LEFT,
offset: new BMapGL.Size(20, 20)
});
map.addControl(scaleCtrl);- 动态切换单位制
javascript
// 获取当前单位制
var currentUnit = scaleCtrl.getUnit();
// 在公制和英制间切换
if (currentUnit === BMAP_UNIT_METRIC) {
scaleCtrl.setUnit(BMAP_UNIT_IMPERIAL);
} else {
scaleCtrl.setUnit(BMAP_UNIT_METRIC);
}注意事项
- 比例尺控件默认使用公制单位
- 可以通过
setUnit()方法随时切换单位制 - 控件会根据地图缩放级别自动调整显示的比例
- 控件位置可以通过构造函数选项进行设置
- 建议将比例尺放置在地图边缘位置,避免遮挡地图内容
