城市选择器 最后更新时间: 2021年01月22日
//设置DomLibrary
AMapUI.setDomLibrary(Zepto);
//加载MobiCityPicker,loadUI的路径参数为模块名中 'ui/' 之后的部分
AMapUI.loadUI(['misc/MobiCityPicker'], function(MobiCityPicker) {
var cityPicker = new MobiCityPicker({
//topGroups: ..., // 顶部城市列表
});
//监听城市选中事件
cityPicker.on('citySelected', function(cityInfo) {
//隐藏城市列表
cityPicker.hide();
//选中的城市信息
console.log(cityInfo);
});
//显示城市列表,可以用某个click事件触发
cityPicker.show();
});
接口文档
构造参数
参数名称 | 类型 | 说明 |
---|---|---|
|
| 头部显示的城市列表数组,结构如下: [ //第一个分组 { id: 'g1',//分组ID,需唯一 title: '热门城市',//分组标题 anchorTitle: '热',//右侧锚点标题,通常单个字符 adcodes: [ //城市的adcode列表,adcodes信息可以调用MobiCityPicker.getCityData()获取 "110000", ] }, //第二个分组 //{ ... } ] |
|
| 主题样式,内置 |
方法
方法名称 | 返回值 | 说明 |
---|---|---|
| 显示城市列表 | |
| 隐藏城市列表 |
事件
事件名称 | 参数 | 说明 |
---|---|---|
|
| 某个城市被选中; cityInfo信息示例: { "adcode": "110000", "name": "北京市", "spell": "Beijing", "lng": 116.405285, "lat": 39.904989, "areaCode": "010" } |
| 城市列表显示 | |
| 城市列表隐藏 |
自定义主题
比如创建一个名字为"red"的主题:
var cityPicker = new MobiCityPicker({
theme:'red'//设置theme值
});
theme参数将作为一个class添加到城市列表的容器上, 即(div.amap-ui-mobi-city-picker.red
),据此编写对应的样式,比如:
/**
* 列表容器背景/前景配色
*/
.amap-ui-mobi-city-picker.red {
background: red;
color: #fff;
}
/**
* 分组标题栏背景
*/
.amap-ui-mobi-city-picker.red .listgroup .title,
.amap-ui-mobi-city-picker.red .city_fixed_title {
background-color: #521717;
}