CityListControlOptions
interface CityListControlOptions {
anchor?: ControlAnchor;
canCheckSize?: boolean;
expand?: boolean;
offset?: Size;
onChangeAfter?: () => void;
onChangeBefore?: () => void;
onChangeSuccess?: (poi: CityListControlChangeResult) => void;
onClose?: () => void;
onOpen?: () => void;
trigger?: HTMLElement;
}
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)
切换城市后触发的回调函数
切换城市前触发的回调函数
切换城市成功后触发的回调函数,控件初始化完成后也会触发一次,可在回调中获取当前城市名
| 参数 | 类型 | 说明 |
|---|---|---|
poi | CityListControlChangeResult | 城市信息 |
城市列表面板收起时的回调函数
城市列表面板展开时的回调函数
自定义触发元素,用于替代默认的城市切换按钮。自定义元素按钮可以方便您统一页面样式。 传入一个 DOM 元素后,点击该元素即可展开/收起城市列表。如需动态修改自定义触发按钮的文案,可通过回调函数实现。
示例代码1
const trigger = document.getElementById('my-city-btn');
const cityList = new BMap.CityListControl({ trigger });
map.addControl(cityList);
CityListControl 构造函数的可选参数。它没有构造函数,但可通过对象字面量形式表示。