Flutter地址选择插件fl_address_picker的使用
Flutter地址选择插件fl_address_picker的使用
fl_address_picker
图片地址:
欢迎访问我的个人网站:https://www.sshlearning.cn
欢迎访问我的GitHub并邀请你一起构建更多项目:https://github.com/ssh199956
欢迎访问我的个人博客:https://blog.sshlearning.cn
欢迎关注我的文档内容:https://data.sshlearning.cn
欢迎访问我在学习期间制作的静态电商网站:https://shenfeng.sshlearning.cn
Getting Started
fl_address_picker
是一个支持地址选择的Flutter插件,适用于Android、iOS等平台。
Usage
以下是一个简单的示例,展示如何在Flutter应用中使用fl_address_picker
插件:
import 'package:flutter/material.dart';
import 'package:fl_address_picker/fl_address_picker.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}
class HomePage extends StatefulWidget {
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
// 用于存储当前选中的省市区信息
String selectedProvince = '';
String selectedCity = '';
String selectedDistrict = '';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("地址选择插件示例"),
),
body: Center(
child: ElevatedButton(
child: Text('选择地址'),
onPressed: () {
showModalBottomSheet(
backgroundColor: Colors.black45,
context: context,
builder: (BuildContext context) {
return Container(
color: Colors.grey[800],
height: 250.0,
child: AddressPicker(
style: TextStyle(color: Colors.white, fontSize: 17),
mode: AddressPickerMode.provinceCityAndDistrict, // 设置为省市区三级模式
onSelectedAddressChanged: (Address address) {
setState(() {
selectedProvince = address.currentProvince.province;
selectedCity = address.currentCity.city;
selectedDistrict = address.currentDistrict.district;
});
},
onTap: () {
// 可以在这里处理点击事件
},
),
);
},
);
},
),
),
);
}
}
Property
mode
/// 选择模式
/// province 一级: 省
/// provinceAndCity 二级: 省市
/// provinceCityAndDistrict 三级: 省市区
final AddressPickerMode mode;
onSelectedAddressChanged
/// 选中的地址发生改变回调
final AddressCallback onSelectedAddressChanged;
style
/// 省市区文字显示样式
final TextStyle style;
更多关于Flutter地址选择插件fl_address_picker的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter地址选择插件fl_address_picker的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
fl_address_picker
是一个用于 Flutter 应用的地址选择插件,它可以帮助用户从地图上选择地址,并返回相应的经纬度和地址信息。以下是如何在 Flutter 项目中使用 fl_address_picker
插件的步骤:
1. 添加依赖
首先,你需要在 pubspec.yaml
文件中添加 fl_address_picker
插件的依赖。
dependencies:
flutter:
sdk: flutter
fl_address_picker: ^1.0.0 # 请使用最新版本
然后运行 flutter pub get
来安装依赖。
2. 导入插件
在你的 Dart 文件中导入 fl_address_picker
插件。
import 'package:fl_address_picker/fl_address_picker.dart';
3. 使用插件
你可以通过调用 FlAddressPicker.showAddressPicker
方法来显示地址选择器。这个方法会返回一个 Address
对象,包含用户选择的地址信息。
void _pickAddress() async {
try {
Address address = await FlAddressPicker.showAddressPicker(
context: context,
apiKey: 'YOUR_GOOGLE_MAPS_API_KEY', // 替换为你的 Google Maps API 密钥
initialPosition: LatLng(37.7749, -122.4194), // 初始位置
);
print('Selected Address: ${address.formattedAddress}');
print('Latitude: ${address.latitude}');
print('Longitude: ${address.longitude}');
} catch (e) {
print('Error: $e');
}
}
4. 获取 Google Maps API 密钥
fl_address_picker
插件依赖于 Google Maps API,因此你需要获取一个 Google Maps API 密钥。你可以通过以下步骤获取密钥:
- 访问 Google Cloud Console。
- 创建一个新的项目或选择一个已有的项目。
- 启用
Maps JavaScript API
和Places API
。 - 在
API 和服务
->凭据
中创建一个新的 API 密钥。 - 将生成的 API 密钥替换到
apiKey
参数中。
5. 配置 Android 和 iOS
在使用 Google Maps API 时,你需要在 AndroidManifest.xml
和 Info.plist
文件中配置 API 密钥。
Android
在 android/app/src/main/AndroidManifest.xml
文件中添加以下代码:
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_GOOGLE_MAPS_API_KEY"/>
iOS
在 ios/Runner/Info.plist
文件中添加以下代码:
<key>io.flutter.embedded_views_preview</key>
<true/>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location when open.</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location when in the background.</string>
<key>GMSApiKey</key>
<string>YOUR_GOOGLE_MAPS_API_KEY</string>