xyz_city_picker

一个支持地图四级下钻的地址选择器

效果预览

example

如何使用

添加xyz_city_picker

打开pubspec.yaml文件 添加如下代码

  xyz_city_picker : ^1.0.0

添加后打开Terminal,执行 flutter packages get

代码中引入

import 'package:xyz_city_picker/xyz_city_picker.dart';

使用

建议先clone下仓库,查看example目录的示例

必须传入的参数有:

参数含义类型
province选择的省份Map{'name': '', 'id': ''}
city选择的城市Map{'name': '', 'id': ''}
district选择的区县Map{'name': '', 'id': ''}
street选择的街道Map{'name': '', 'id': ''}

代码使用如下:

GestureDetector(
  behavior: HitTestBehavior.translucent,
  onTap: () => XYZCityPicker.showPicker(
      province: province,
      city: city,
      district: district,
      street: street,
      context: context,
      onChange: (int index, Map checkedItem) {
        switch (index) {
          case 0:
           province = checkedItem;
            break;
          case 1:
          city = checkedItem;
            break;
          case 2:
          district = checkedItem;
            break;
          case 3:
          street = checkedItem;
            break;
        }
        setState(() {});
      }),
  child: Container()
)

onChanged回调函数里面把选择的值带回,onChanged的函数签名如下:

typedef OnChange = Function(int index, Map checkedItem);

其中index0124,分别标识provincecitydistrictstreetcheckedItem则为选择的值.

Libraries

city
county
data
province
town
xyz_city_picker