패키지, 저장소 및 앱 카테고리 검색

city_pickers 표지
패키지 상세v1.3.0

city_pickers

도시 선택용 플러터 플러그인, 팝업 위젯, 함수로 호출 가능, 중국 지원

AndroidiOSWebmacOSWindowsLinux
30일 다운로드
892
좋아요
93
Pub 점수
130

패키지 설치

flutter pub add city_pickers

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

중국의 위치 데이터를 지원하는 도시 선택 팝업 위젯을 제공하는 플러터 플러그인입니다. 함수 호출을 통해 트리거할 수 있으며 양식이나 주소 선택 흐름에 원활하게 통합될 수 있습니다. 이 패키지는 안드로이드, iOS, 웹, 맥OS, 윈도우, 리눅스 등 여러 플랫폼에서 사용하도록 설계되었습니다. 중국 사용자를 대상으로 하는 애플리케이션에서 위치 입력이 필요한 경우 도시 선택 과정을 간소화합니다.

사용 사례

  • 주소 양식에서 도시 선택
  • 체크아웃 흐름에 위치 선택기 통합하기
  • 여행 또는 배달 앱 구축
  • 중국 지역 데이터 지원
  • 모바일 앱에서 빠른 도시 선택 활성화
  • 도시별 위치 필터링 추가

주요 기능

  • 함수 트리거된 팝업
  • 중국 전용 도시 데이터
  • 다중 플랫폼 지원
  • 간단한 통합
  • 사용자 지정 가능한 UI
  • 경량이고 빠름

적합한 대상

  • 중국 사용자를 대상으로 하는 앱
  • 위치 기반 서비스
  • 전자상거래 플랫폼
  • 여행 및 물류 앱
  • 폼 중심 애플리케이션
  • 빠른 도시 선택이 필요한 개발자

고려 사항

  • 중국의 도시 계층에 한정
  • 선택된 값을 수동으로 처리해야 합니다
  • 오프라인 모드 없음
  • 제공된 옵션에만 국한된 UI 사용자 정의
  • 도시 목록에 외부 데이터 소스에 의존합니다
  • 일관성을 위해 추가적인 스타일링이 필요할 수 있습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Language: English

city_pickers

中国的城市三级联动选择器

Demo

demo: https://pmbee.alicdn.com/flutter/city_pickers/index.html

沟通QQ群

QQ 群号码: 935915271

image

开始

在flutter的项目文件中增加依赖

dependencies:
  ...
    city_pickers:^1.1.0

关于如何运行flutter项目, 参考官方文档documentation.

使用方法

简单使用方法

import 'package:city_pickers/city_pickers.dart';
...
// 通过钩子事件, 主动唤起浮层. 
Future<Result?> getResult () async {
    Result? result = await CityPickers.showFullPageCityPicker(
      context: context
    );
    print('result $a');
   
    // type 1
    Result? result = await CityPickers.showCityPicker(
      context: context,
    );
    // type 2
    Result? result2 = await CityPickers.showFullPageCityPicker(
      context: context,
    );
    
    // type 3
    Result? result2 = await CityPickers.showCitiesSelector(
      context: context,
    );
    return result;
}

CityPickers 静态方法

Name Type Desc
showCityPicker Function 呼出弹出层,显示多级选择器
showFullPageCityPicker Function 呼出一层界面, 显示多级选择器
showCitiesSelector Function 呼出一层, 显示支持字母定位城市选择器
utils Function 获取utils接口的钩子
showCityPicker 参数说明
Name Type Default Desc
context BuildContext 上下文对象
theme ThemeData Theme.of(context) 主题, 可以自定义
locationCode String 110000 初始化地址信息, 可以是省, 市, 区的地区码
height double 300 弹出层的高度, 过高或者过低会导致容器报错
showType ShowType ShowType.pca 三级联动, 显示类型
barrierOpacity double 0.5 弹出层的背景透明度, 应该是大于0, 小于1
barrierDismissible bool true 是否可以通过点击弹出层背景, 关闭弹出层
cancelWidget Widget 用户自定义取消按钮
confirmWidget Widget 用户自定义确认按钮
itemExtent double 目标框高度
itemBuilder Widget item生成器, function(String value, List lists, item){}, 当itemBuilder不为空的时候. 必须设置itemExtent
citiesData Map 城市数据 选择器的城市与区的数据源
provincesData Map 省份数据 选择器的省份数据源
showFullPageCityPicker 参数说明
Name Type Default Desc
context BuildContext null 上下文对象
theme ThemeData Theme.of(context) 主题, 可以自定义
locationCode String 110000 初始化地址信息, 可以是省, 市, 区的地区码
showType ShowType ShowType.pca 三级联动, 显示类型

|citiesData|Map|城市数据|选择器的城市与区的数据源| |provincesData|Map|省份数据|选择器的省份数据源|

showCitiesSelector 参数说明
Name Type Default Desc
context BuildContext null 上下文对象
theme ThemeData Theme.of(context) 主题, 可以自定义
locationCode String 110000 初始化地址信息, 可以是省, 市, 区的地区码
title String 城市选择器 弹出层界面标题
citiesData Map 城市数据 选择器的城市与区的数据源
provincesData Map 省份数据 选择器的省份数据源
hotCities List<HotCity> null 热门城市
sideBarStyle BaseStyle 初始默认样式 右侧字母索引集样式
cityItemStyle BaseStyle 初始默认样式 城市选项样式
topStickStyle BaseStyle 初始默认样式 顶部索引吸顶样式
scaffoldBackgroundColor Colors Colors.white 页面背景色
useSearchAppBar bool false 当AppBarBuilder=null的时候, 控制是否开启搜索框
appBarBuilder Function null 用户自定义AppBar
utils 说明

utils 是用来封装常用的一些方法, 方便使用者能更好的使用该插件. 使用者通过以下方式声明实例, 可以获取所有的工具类方法

// 声明实例
CityPickerUtil cityPickerUtils = CityPickers.utils();
Result getAreaResultByCode(String code)

使用者通过地区ID, 获取所在区域的省市县等相关信息. 当未查询到具体信息. 返回空的Result对象.

print('result>>> ${cityPickerUtils.getAreaResultByCode('100100)}');

// 输出为: result>>>> {"provinceName":"北京市","provinceId":"110000","cityName":"东城区","cityId":"110101"}

数据来源

贡献者

声明

本项目Example部份代码与样式, 参考借鉴Flutter Go, flutter go 是flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档

To Do List
  • [x] 城市选择器, 借鉴点评
  • [x] 支持拼音等模糊搜索
  • [ ] 加入单元测试

카테고리

의존성

의존성 목록 3 개

소스 저장소

이 패키지를 사용하는 프로젝트