如何将用户当前位置作为 flutter google 地图中的初始位置
how to get user current position as initial location in flutter google maps
我正在尝试将我的当前位置作为我在 google 地图中的初始位置 flutter.. 但我总是收到这样的错误...initialCameraPosition !=null is not true
到目前为止我已经尝试使用异步等待获取我的当前位置.. 这是代码
static LatLng _initialPosition;
@override
void initState() {
_getLocation();
super.initState();
}
void _getLocation() async {
LocationData currentLocation;
currentLocation = await location.getLocation();
setState(() {
_initialPosition =
LatLng(currentLocation.latitude, currentLocation.longitude);
});
}
static final CameraPosition initialLocation = CameraPosition(
target: _initialPosition,
zoom: 14.4746,
);
我需要从我的代码中添加什么吗?
这是我的小部件
GoogleMap(
mapType: MapType.normal,
initialCameraPosition: initialLocation,
markers:...,
circles:...,
onMapCreated: (GoogleMapController controller) {
_controller = controller;
},
),
_getLocation 是一个异步函数。当您启动 GoogleMap 时,它可能没有填充 _initialPosition。
给 _initialPosition 一个起始值,然后在 _initialPosition 更新后更新 GoogleMap。
我正在尝试将我的当前位置作为我在 google 地图中的初始位置 flutter.. 但我总是收到这样的错误...initialCameraPosition !=null is not true
到目前为止我已经尝试使用异步等待获取我的当前位置.. 这是代码
static LatLng _initialPosition;
@override
void initState() {
_getLocation();
super.initState();
}
void _getLocation() async {
LocationData currentLocation;
currentLocation = await location.getLocation();
setState(() {
_initialPosition =
LatLng(currentLocation.latitude, currentLocation.longitude);
});
}
static final CameraPosition initialLocation = CameraPosition(
target: _initialPosition,
zoom: 14.4746,
);
我需要从我的代码中添加什么吗? 这是我的小部件
GoogleMap(
mapType: MapType.normal,
initialCameraPosition: initialLocation,
markers:...,
circles:...,
onMapCreated: (GoogleMapController controller) {
_controller = controller;
},
),
_getLocation 是一个异步函数。当您启动 GoogleMap 时,它可能没有填充 _initialPosition。
给 _initialPosition 一个起始值,然后在 _initialPosition 更新后更新 GoogleMap。