翩翩,如何才能只在应用程序启动一次就能获得用户位置?

问题描述 投票:0回答:1

我目前正试图在开始时获得用户位置一次,并将摄像头聚焦在该位置上,只需一次,然后我想让它停止,但无法做到这一点。代码部分如下。

bool element = true;
void _onMapCreated(GoogleMapController _cntrl){
    setState(() {
      _ifEnabled();
      _ifPermissioned();
      _getLocation();
      _controller = _cntrl;
        _location.onLocationChanged.listen((l){
        _controller.animateCamera(
          CameraUpdate.newCameraPosition(
            CameraPosition(
              target: LatLng(l.latitude,l.longitude),
              zoom: 15
            ),
          ),
        );
      });
      _location.onLocationChanged.skipWhile((element) => false);
    });
  }

flutter location
1个回答
0
投票

根据官方文档 https:/pub.devpackageslocation。

onLocationChanged

监听位置,并在位置改变时自动更新,所以你应该使用的是

getLocation()

getLocation() 允许获取用户的一次性位置。如果还没有被授予权限,它将尝试申请权限,如果还没有被授予权限,它将抛出一个PERMISSION_DENIED错误代码。

© www.soinside.com 2019 - 2024. All rights reserved.