Last updated:
0 purchases
flutter thailand provinces
Flutter Thailand Provinces #
ฐานข้อมูลจังหวัด อำเภอ ตำบล หมายเลขไปรษณีย์ของประเทศไทย สำหรับใช้งานใน Flutter
เลือกจังหวัดผ่าน dialog อย่างง่าย
ฐานข้อมูล .sql จากคุณ parsilver แล้วแปลงเป็น .db สำหรับ SQLite เพื่อใช้งานใน Flutter
https://github.com/parsilver/thailand-provinces
การติดตั้ง #
เพิ่ม dependencies ในไฟล์ pubspec.yaml
dependencies:
flutter_thailand_provinces: 1.0.1
copied to clipboard
รายละเอียดได้ที่ pub.dev
https://pub.dev/packages/flutter_thailand_provinces/
การใช้งาน #
ก่อนการใช้งานฐานข้อมูลจำเป็นต้องสร้างฐานข้อมูลจังหวัดก่อน
//import 'dart:async';
//import 'package:flutter_thailand_provinces/flutter_thailand_provinces.dart';
Future main() async {
WidgetsFlutterBinding.ensureInitialized(); // ensure flutter initialized.
await ThailandProvincesDatabase.init(); // initialize database.
runApp(MyApp());
}
copied to clipboard
ข้อมูลจังหวัด (Province) #
การสืบค้น (query) ข้อมูลจังหวัดจะทำผ่าน ProvinceProvider จากนั้นคุณจะได้ List
//import 'package:flutter_thailand_provinces/provider/province_provider.dart';
//import 'package:flutter_thailand_provinces/dao/province_dao.dart';
var list = await ProvinceProvider.all();
for(ProvinceDao province in list){
// province.nameTh;
// province.nameEn;
// province.id;
}
copied to clipboard
การค้นหาจังหวัดจากชื่อ
var list = await ProvinceProvider.search(keyword: "เชียงใหม่");
copied to clipboard
ตัวอย่างการใช้งาน
ข้อมูลอำเภอ (Amphure) #
การ query ข้อมูลอำเภอทำผ่าน AmphureProvider จากนั้นคุณจะได้ List
เรียกดูรายการอำเภอทั้งหมด (ประเทศไทยมีอำเภอทั้งหมดประมาณ 1,000 อำเภอ)
//import 'package:flutter_thailand_provinces/provider/amphure_provider.dart';
//import 'package:flutter_thailand_provinces/dao/amphure_dao.dart';
var list = await AmphureProvider.all();
for(AmphureDao amphure in list){
// amphure.id;
// amphure.provinceId;
// amphure.nameTh;
// amphure.nameEn;
}
copied to clipboard
รายการอำเภอเฉพาะในจังหวัดนั้น คุณจำเป็นต้องทราบ provinceId
เช่น provinceId = 1 คือ กรุงเทพฯ
var list = await AmphureProvider.all(provinceId : 1);
copied to clipboard
ค้นหาอำเภอ
var list = await AmphureProvider.search(keyword: "บาง");
copied to clipboard
ค้นหาอำเภอเฉพาะในจังหวัด
var list = await AmphureProvider.searchInProvince(provinceId: 1, keyword: "บาง");
copied to clipboard
ตัวอย่างการใช้งาน
ข้อมูลตำบล (District) #
การ query ข้อมูลตำบลทำผ่าน DistrictProvider จากนั้นคุณจะได้ List
เรียกดูรายการทั้งหมด (ประเทศไทยมีตำบลทั้งหมดประมาณ 9,000 ตำบล)
//import 'package:flutter_thailand_provinces/provider/district_provider.dart';
//import 'package:flutter_thailand_provinces/dao/district_dao.dart';
var list = await DistrictProvider.all();
for(DistrictDao district in list){
// district.id;
// district.amphureId;
// district.zipCode;
// district.nameTh;
// district.nameEn;
}
copied to clipboard
การเรียกดูตำบลทั้งหมดในอำเภอ จะต้องใช้ amphure id
var list = await DistrictProvider.all(amphureId: 1001);
copied to clipboard
การค้นหาตำบลจากในอำเภอ
var list = await DistrictProvider.searchInAmphure(amphureId: 1001, keyword: "แม่เมาะ");
copied to clipboard
ตัวอย่างการใช้งาน
ข้อมูลที่อยู่ (Address) #
Address คือ การนำข้อมูล จังหวัด อำเภอ และตำบล มา join กัน โดยวิธีการใช้งานคือ ใช้งานผ่าน AddressProvider จากนั้นคุณจะได้ List
การ query ข้อมูล address ทั้งหมด
//import 'package:flutter_thailand_provinces/provider/address_provider.dart';
//import 'package:flutter_thailand_provinces/dao/address_dao.dart';
var list = await AddressProvider.all();
for(AddressDao address in list){
// address.province;
// address.amphure;
// address.district;
}
copied to clipboard
ข้อมูล address เฉพาะในจังหวัด
var list = await AddressProvider.all(provinceId: 1);
copied to clipboard
ค้นหาโดยใช้คำค้น (keyword)
var list = await AddressProvider.search(keyword: "นา");
copied to clipboard
ค้นหาโดยใช้คำค้น (keyword) เฉพาะในจังหวัด
var list = await AddressProvider.searchInProvince(provinceId: 1, keyword: "101");
copied to clipboard
ตัวอย่างการใช้งาน
การใช้ Dialog เลือกจังหวัด #
หากต้องการเลือกจังหวัดแบบรวดเร็ว สามารถเรียกใช้ ChooseProvinceDialog
//import 'package:flutter_thailand_provinces/provider/province_provider.dart';
//import 'package:flutter_thailand_provinces/dialog/choose_province_dialog.dart';
var list = await ProvinceProvider.all();
ProvinceDao province = await ChooseProvinceDialog.show(context, listProvinces: list);
copied to clipboard
การ custom style ของ ChooseProvinceDialog สามารถกำหนดสีและ font-family ได้
ตัวอย่างการใช้งาน
//import 'package:flutter_thailand_provinces/provider/province_provider.dart';
//import 'package:flutter_thailand_provinces/dialog/choose_province_dialog.dart';
//import 'package:flutter_thailand_provinces/dao/province_dao.dart';
var list = await ProvinceProvider.all();
ProvinceDao province = await ChooseProvinceDialog.show(context,
listProvinces: list,
colorBackgroundHeader: Colors.purple[300],
colorLineHeader: Colors.purple[500],
styleTitle: TextStyle(fontSize: 18, fontFamily: "Kanit-Regular"),
styleSubTitle: TextStyle(fontSize: 14, fontFamily: "Kanit-Regular",
color: Colors.grey[400]),
styleTextNoData: TextStyle(fontFamily: "Kanit-Regular"),
styleTextSearchHint: TextStyle(fontFamily: "Kanit-Regular"),
styleTextSearch: TextStyle(fontFamily: "Kanit-Regular"));
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.