Я пытаюсь показать карту с текущим местоположением. Для этого я использовал Местоположение и Google 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,
Когда мы переходим к просмотру с картой, ошибка появляется примерно через 1 с (затем просматриваем загрузку правильно) с этой ошибкой в консоли
I / флаттер (15567): ИСКЛЮЧЕНИЕ, ЗАПРЕЩЕННОЕ БИБЛИОТЕКОЙ ВИДЖЕТОВ
╞═════════════════════════════════════════════════ ══════════ I / флаттер
(15567): Следующее утверждение было брошено здание
Экран HomePageScreen (грязный, зависимости: I / флаттер (15567):
[_LocalizationsScope- [GlobalKey # 78c30], MediaQuery], состояние:
_HomePageScreen # 9c9d2): I / flutter (15567): 'package: google_maps_flutter / src / location.dart': ошибочное утверждение:
строка 17, позиция 16: «широта! = I / флаттер (15567): ноль»: неверно.
Я отлаживаю его, и ошибка относительно проста: Местоположение плагин загружает медленную широту и долготу, Google Maps плагин загружается быстрее. Итак, у нас есть ошибка.
Вопрос: как заставить карту Google ждать местоположение и долготу из плагина Location?