我正在尝试将自己的当前位置作为我在Google Map扑动中的初始位置。.但是我总是会收到这样的错误消息:initialCameraPosition !=null is not true
到目前为止,我一直在尝试使用async等待来获取我的当前位置位置..这是代码
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;
},
),
答案 0 :(得分:1)
_getLocation是一个异步函数。启动GoogleMap时,它可能没有填充_initialPosition。
给_initialPosition一个初始值,然后在_initialPosition更新后更新GoogleMap。