【发布时间】:2021-09-16 15:11:50
【问题描述】:
我有一个实现 GoogleMap 的应用。 我可以返回页面并使用预先设置的设置获得一张漂亮的地图,但是当我按下按钮并且没有预先设置任何内容时,我无法刷新地图。
小部件是在 Build() 上创建的,我有一个按钮,可以从地理定位器和城市名称反向查找中获取 lat 和 lng。
那叫
完成所有操作后保存 GPS()。
我通常直接从 Prefs.lat Prefs.lng 开始,但我尝试创建成员变量 _lng 和 _lat,包括一个 _zoom 变量,以便 setState 可以工作..它不起作用。不知道我做错了什么。
Container(
width: 350,
height: 350,
child: GoogleMap(
markers: Set<Marker>.of(_markers),
mapType: MapType.satellite,
initialCameraPosition:
CameraPosition(zoom: _zoom, target: LatLng(_lat, _lng))),
),
void saveGps() async {
DateTime now = DateTime.now();
var timezoneOffset = now.timeZoneOffset;
Prefs.cityName = _cityName;
Prefs.offset = timezoneOffset.inMinutes / 60;
setState(() {
_lat = Prefs.lat = _position.latitude;
_lng = Prefs.lng = _position.longitude;
_markers.clear();
_markers.add(Marker(
markerId: MarkerId(Prefs.cityName),
position: LatLng(Prefs.lat, Prefs.lng),
infoWindow: InfoWindow(
title: Prefs.cityName,
)));
_zoom = 17;
});
}
【问题讨论】:
标签: flutter google-maps state