flutter - 查找当前位置与输入的经纬度之间的距离
问题描述
我是 Flutter 编程的新手,并且尝试了一个小项目。我从用户那里获取纬度和经度,并查找当前位置与给定纬度和经度之间的距离
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
void main() {
runApp(Myapp());
}
class Myapp extends StatefulWidget {
@override
_MyappState createState() => _MyappState();
}
class _MyappState extends State<Myapp> {
double a,b;
double distanceInMeters;
String result;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('location'),),
body: Container(
color: Colors.teal,
width: double.infinity,
child:Column(
children:<Widget>[
TextField(
keyboardType: TextInputType.number,
decoration:InputDecoration(icon: Icon(Icons.add_location)),
onSubmitted:(lat1) {
print(lat1);
a=lat1 as double ;
} ,
),
TextField(
keyboardType: TextInputType.number,
decoration:InputDecoration(icon: Icon(Icons.add_location)),
onSubmitted:(long1) {
print(long1);
b=long1 as double ;
},
),
FlatButton(
color: Colors.orange,
onPressed: () async {
final position=await Geolocator().getCurrentPosition(desiredAccuracy:
LocationAccuracy.high);
distanceInMeters = await
Geolocator().distanceBetween(position.latitude,position.longitude,a,b);
print(distanceInMeters);
},
child: Text(
"Flat Button",
),
),
Text('$distanceInMeters')
],
),
),
),
);
}
}
但是应用程序中的输出始终为空,是否与输入的纬度和经度中的点后没有小数有关?我应该怎么做才能改进我的代码,你们能找到错误并建议我吗?
解决方案
推荐阅读
- amazon-web-services - 无法访问 ECS 集群中的 EC2 实例
- python - 如何测量在 TKInter 画布上绘制的线条长度?
- android - android studio中已经存在的程序类型
- c# - 将 DataRow 复制到新的 DataTable 中,并使用原始 DataTable 中的适当类型
- firebase - 如何对firebase中的数据进行排序?在颤振应用程序中
- unreal-engine4 - 在虚幻中,我无法修改 bUseControllerRotation[Pitch | 偏航 | Roll] 在构造函数处
- python - 用于解码使用 DataKey 加密的轨道数据的 python 脚本
- node.js - 邮递员无法使用 s3 预签名 url 上传文件
- android - 在单独的方法中设置时 onClickListener 的性能较慢
- python - 使用 Python re.sub 进行基于位置的替换