MapTypeControl

此类表示地图类型切换控件。 BMAP_MAPTYPE_CONTROL_MAP 为地图预览按钮样式,控件尺寸为 86px × 60px;BMAP_MAPTYPE_CONTROL_DROPDOWN 为按钮加下拉列表样式,控件折叠状态尺寸为 86px × 32px;BMAP_MAPTYPE_CONTROL_HORIZONTAL 为横向列表样式,控件尺寸为动态宽度 × 32px 下拉列表高度随显示的地图类型数量变化,横向列表宽度随地图类型文本和数量变化。 anchor 属性表示整个控件的停靠位置。

构造函数

  • 创建地图类型切换控件

    参数类型说明
    opts 可选MapTypeControlOptions可选参数
    属性类型说明
    anchorControlAnchor控件的停靠位置
    mapTypesMapType[]控件展示的地图类型列表,默认值为 [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]
    offsetSize控件的偏移值
    typeMapTypeControlType控件样式,默认值为 BMAP_MAPTYPE_CONTROL_MAP

    返回值 MapTypeControl

    示例代码1

    const mapTypeControl = new BMap.MapTypeControl({
    type: BMAP_MAPTYPE_CONTROL_DROPDOWN,
    mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP],
    });
    map.addControl(mapTypeControl);

属性

控件默认停靠位置,自定义控件时需提供此属性

控件默认偏移量,自定义控件时需提供此属性

方法

  • 隐藏控件

    返回值 void

  • 抽象生命周期方法,用于初始化控件,当调用 map.addControl() 时内部将调用此方法。

    仅在自定义控件时需要实现此方法,并返回控件的 DOM 元素,DOM 元素需通过 map.getContainer() 添加到地图容器中。 内置控件(ZoomControlScaleControl 等)已在内部实现,用户无需调用也无需重写。

    参数类型说明
    mapMap地图实例

    返回值 HTMLElement

    示例代码1

    class MyControl extends BMap.Control {
    initialize(map: BMap.Map) {
    const div = document.createElement('div');
    div.textContent = '自定义控件';
    map.getContainer().appendChild(div);
    return div;
    }
    }
  • 返回控件的可见状态

    返回值 boolean

  • 设置控件停靠位置

    参数类型说明
    anchorControlAnchor停靠位置

    返回值 void

    示例代码2

    control.setAnchor(BMAP_ANCHOR_TOP_LEFT);
    
  • 设置控件停靠偏移量

    参数类型说明
    offsetSize偏移量

    返回值 void

    示例代码3

    control.setOffset(new BMap.Size(20, 20));
    
  • 显示控件

    返回值 void

  • 显示或隐藏路网层

    参数类型说明
    isShowboolean是否显示

    返回值 void

    示例代码1

    mapTypeControl.showStreetLayer(true);