我目前正试图在开始时获得用户位置一次,并将摄像头聚焦在该位置上,只需一次,然后我想让它停止,但无法做到这一点。代码部分如下。
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);
});
}
根据官方文档 https:/pub.devpackageslocation。
onLocationChanged
监听位置,并在位置改变时自动更新,所以你应该使用的是
getLocation()
getLocation() 允许获取用户的一次性位置。如果还没有被授予权限,它将尝试申请权限,如果还没有被授予权限,它将抛出一个PERMISSION_DENIED错误代码。