栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法在Flutter应用程序中加载当前位置

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法在Flutter应用程序中加载当前位置

作为Abbas.M的建议,我正在使用FutureBuilder Widget解决我的问题。

FutureBuilder窗口小部件:https://www.youtube.com/watch?v
=
ek8ZPdWj4Qo

我在声明_future变量

Future<Position> _future;

我在initState中调用异步方法

void initState() {// TODO: implement initStatesuper.initState();_future = getCurrentLocation();}

使用FutureBuilder小部件,我解决了我的问题,并将异步函数返回值传递给FutureBuilder小部件的参数。

此条件if(snapshot.connectionState ==
ConnectionState.done)有助于查找异步函数是否已完成并返回值。如果处于完成状态,则表示函数已完成并返回。

如果不满足该条件,则意味着异步功能未完成,因此我正在使用CircularProgressIndicator小部件来通知用户了解应用程序正在加载。

Widget build(BuildContext context) {return Scaffold(    appBar: AppBar(      title: Text("Flutter Krish"),    ),    body: FutureBuilder(        future: _future,        builder: (context, snapshot) {          if (snapshot.connectionState == ConnectionState.done) { if (!snapshot.hasError) {   print(snapshot.data.latitude);   return Stack(children: <Widget>[     GoogleMap(       initialCameraPosition: CameraPosition(target: LatLng(    snapshot.data.latitude, snapshot.data.longitude),zoom: 12.0),       onMapCreated: mapCreated,     ),     Positioned(       top: 30.0,       left: 15.0,       right: 15.0,       child: Container(         height: 50.0,         width: double.infinity,         decoration: BoxDecoration(  borderRadius: BorderRadius.circular(10.0),  color: Colors.white),         child: TextField(decoration: InputDecoration(    border: InputBorder.none,    hintText: 'Enter Address',    contentPadding:        EdgeInsets.only(top: 15.0, left: 15.0),    suffixIcon: IconButton(      icon: Icon(Icons.search),      onPressed: searchAndNavigate,      iconSize: 30.0,    )),onChanged: (value) {  searchAddress = value;},         ),       ),     ),   ]); }          } else { return Center(child: CircularProgressIndicator());          }        }));}Future<Position> getCurrentLocation() async{var answer = await Geolocator().getCurrentPosition();return answer;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/382134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号