Skip to content

ControlAnchor

此常量表示控件的定位。用于设置 Control 类控件在地图上的停靠位置。

常量

常量描述
BMAP_ANCHOR_TOP_LEFT控件将定位到地图的左上角
BMAP_ANCHOR_TOP_RIGHT控件将定位到地图的右上角
BMAP_ANCHOR_BOTTOM_LEFT控件将定位到地图的左下角
BMAP_ANCHOR_BOTTOM_RIGHT控件将定位到地图的右下角

示例

javascript
// 创建自定义控件
function CustomControl() {
    // 设置控件的默认停靠位置为左上角
    this.defaultAnchor = BMAP_ANCHOR_TOP_LEFT;
    this.defaultOffset = new BMapGL.Size(10, 10);
}

// 继承 Control
CustomControl.prototype = new BMapGL.Control();

// 实现自定义控件
CustomControl.prototype.initialize = function(map) {
    // 创建控件 DOM
    var div = document.createElement('div');
    div.innerHTML = '自定义控件';
    
    // 返回控件 DOM
    return div;
};

// 创建控件实例
var customCtrl = new CustomControl();

// 添加到地图
map.addControl(customCtrl);

// 动态改变控件位置
customCtrl.setAnchor(BMAP_ANCHOR_TOP_RIGHT);  // 改变到右上角

常见用途

  1. 设置控件默认位置
javascript
function MyControl() {
    this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;  // 默认定位到右上角
}
  1. 动态调整控件位置
javascript
// 根据屏幕尺寸调整控件位置
if (window.innerWidth < 768) {
    control.setAnchor(BMAP_ANCHOR_BOTTOM_RIGHT);
} else {
    control.setAnchor(BMAP_ANCHOR_TOP_RIGHT);
}

注意事项

  1. 控件的实际显示位置由停靠位置(anchor)和偏移量(offset)共同决定
  2. 同一位置可以停靠多个控件,它们会按照添加的顺序排列
  3. 可以通过 setAnchor() 方法动态改变控件的停靠位置
  4. 建议根据地图的实际使用场景和控件的功能选择合适的停靠位置
  5. 在移动端开发时,需要特别注意控件的位置是否会影响用户操作

基于 MIT 许可发布