gpt4 book ai didi

google-maps - Flutter - Google map 不会等待位置

转载 作者:行者123 更新时间:2023-12-02 00:50:18 25 4
gpt4 key购买 nike

我正在尝试显示包含当前位置的 map 。为此,我使用了 LocationGoogle Map插件(最新版本)。

我有一个类似的代码:

var lng, lat;

@override
initState() {
super.initState();
loading = true;
getLocation();
}

Future getLocation() async {
final location = Location();
var currentLocation = await location.getLocation();
setState(() {
lat = currentLocation.latitude;
lng = currentLocation.longitude;
loading=false;
});
}

loading==false ? GoogleMap(
mapType: MapType.hybrid,
myLocationButtonEnabled: true,
myLocationEnabled: true,
initialCameraPosition: CameraPosition(
target: LatLng(lat, lng),
zoom: 15.0,
)):null,

当我们使用 map 查看 View 时,大约 1 秒后会出现错误(然后 View 加载正常),控制台中会出现此错误

I/flutter (15567): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter (15567): The following assertion was thrown building HomePageScreen(dirty, dependencies: I/flutter (15567): [_LocalizationsScope-[GlobalKey#78c30], MediaQuery], state: _HomePageScreen#9c9d2): I/flutter (15567): 'package:google_maps_flutter/src/location.dart': Failed assertion: line 17 pos 16: 'latitude != I/flutter (15567): null': is not true.

我对其进行了调试,错误相对简单:位置插件加载纬度和经度较慢,Google map 插件加载速度更快。所以我们有一个错误。

问题是:如何强制 Google map 等待位置插件中的位置和经度?

最佳答案

当您的 latlng 为空时,显示空的 Container() 或任何加载指示器。

lat == null || lng == null
? Container()
: GoogleMap(
mapType: MapType.hybrid,
myLocationButtonEnabled: true,
myLocationEnabled: true,
initialCameraPosition: CameraPosition(
target: LatLng(lat, lng),
zoom: 15.0,
),
);

关于google-maps - Flutter - Google map 不会等待位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56221146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com