CityListControlOptions

CityListControl 构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。

interface CityListControlOptions {
    anchor?: ControlAnchor;
    canCheckSize?: boolean;
    expand?: boolean;
    offset?: Size;
    onChangeAfter?: () => void;
    onChangeBefore?: () => void;
    onChangeSuccess?: (poi: CityListControlChangeResult) => void;
    onClose?: () => void;
    onOpen?: () => void;
    trigger?: HTMLElement;
}

属性

控件的停靠位置,默认值:BMAP_ANCHOR_TOP_LEFT

是否检查地图容器尺寸,容器过小时不展示控件,默认值:true

是否初始展开城市列表,默认值:false

控件基于停靠位置的偏移量,默认值:new BMap.Size(10, 10)

切换城市后触发的回调函数

切换城市前触发的回调函数

切换城市成功后触发的回调函数,控件初始化完成后也会触发一次,可在回调中获取当前城市名

参数类型说明
poiCityListControlChangeResult城市信息

城市列表面板收起时的回调函数

城市列表面板展开时的回调函数

自定义触发元素,用于替代默认的城市切换按钮。自定义元素按钮可以方便您统一页面样式。 传入一个 DOM 元素后,点击该元素即可展开/收起城市列表。如需动态修改自定义触发按钮的文案,可通过回调函数实现。

示例代码1

const trigger = document.getElementById('my-city-btn');
const cityList = new BMap.CityListControl({ trigger });
map.addControl(cityList);