geolocator 6.0.0 + 1 distanceBetween在颤动中不起作用

问题描述

我希望每个人都安全,我正在使用颤振,并且我想计算两个位置之间的距离,所以我从pub.dev here安装了 geolocator 6.0.0 + 1 ,并我可以找到用户的位置,但不能使用称为** distanceBetween()**的内置方法,该方法用于计算两个纬度和经度之间的距离,它向我显示了一个错误,例如**方法“ distanceBetween”没有为“ _RegisterState”类型定义。 **我使用了文档here

中所示的方法

这是我的代码:

import 'dart:html;
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:staffattendence05/Usermodel.dart';
import 'package:staffattendence05/add_user.dart';
import 'package:staffattendence05/authenticate.dart';
import 'package:staffattendence05/fauth.dart';
import 'package:staffattendence05/home.dart';
import 'package:staffattendence05/styling.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:staffattendence05/loading.dart';
import 'package:geolocator/geolocator.dart';
import 'Login_ins.dart';

class Register extends StatefulWidget {
  @override
  _RegisterState createState() => _RegisterState();
}

class _RegisterState extends State<Register> {
  @override
  final _formkey = GlobalKey<FormState>();

  String email = '';

  String error = '';

  String password = '';

  bool loading = false;

  final Authservice _auth = Authservice();

  Widget build(BuildContext context) {
    return loading
        ? Loading()
        : Scaffold(
            backgroundColor: Colors.teal,appBar: AppBar(
              shape: RoundedRectangleBorder(
                borderRadius: BorderRadius.circular(5),),title: Text(
                "Register your institute",style:
                    TextStyle(fontWeight: FontWeight.bold,color: Colors.white),actions: <Widget>[
                Padding(
                  padding: const EdgeInsets.all(8.0),child: FlatButton.icon(
                    shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(10)),onPressed: () {
                      Navigator.push(
                        context,MaterialPageRoute(builder: (context) => Loginins()),);
                    },icon: Icon(Icons.perm_identity),label: Text("institute Login"),color: Colors.teal,)
              ],backgroundColor: Colors.green[400],body: Padding(
              padding: const EdgeInsets.all(36.0),child: Form(
                key: _formkey,child: Column(
                  children: <Widget>[
                    SizedBox(
                      height: 120.0,TextFormField(
                      decoration: styling.copyWith(hintText: "Admin email"),validator: (val) {
                        return val.isEmpty
                            ? "please enter an valid email id"
                            : null;
                      },onChanged: (val) {
                        email = val;
                      },SizedBox(
                      height: 20.0,TextFormField(
                      obscureText: true,decoration: styling.copyWith(hintText: "Admin password"),validator: (val) => val.length < 6
                          ? "a password should contain atleast 6 characters"
                          : null,onChanged: (val) => password = val,SizedBox(
                      height: 25.0,RaisedButton(
                      shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(7)),color: Colors.green[400],child: Text(
                        "Register",style: TextStyle(fontWeight: FontWeight.bold),onPressed: () async {
                        if (_formkey.currentState.validate()) {
                          setState(() {
                            loading = true;
                          });
                          Position Insposition = await getCurrentPosition(
                              desiredAccuracy: LocationAccuracy.best);
                          dynamic result =
                              await _auth.Signupwithemailandpassword(
                                  email,password,Insposition);
                          final String adminname = email;
                          double distanceInMeters = distanceBetween(
                              52.2165157,6.9437819,52.3546274,4.8285838);
                          print("1111111111111$adminname");
                          print(Insposition);
                          if (result == null) {
                            setState(() {
                              loading = false;
                              error = 'Please enter a valid email address!';
                            });
                          } else {
                            Navigator.push(
                              context,MaterialPageRoute(
                                  builder: (context) => Home(
                                        adminname: adminname,)),);
                          }
                        }
                      },SizedBox(height: 20.0),Text(
                      error,style: TextStyle(
                          color: Colors.red[400],fontWeight: FontWeight.bold,fontSize: 14),)
                  ],);
  }
}

`如果有人指出我犯的错误,那将是很有意义的。 预先谢谢你。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)