我有一个按钮在Google Maps中启用了“跟随模式”。此处的代码/教程为:https://github.com/nhandrew/mapfollow
这是我目前的功能(在删除所有不再与最新的Geolocator兼容的代码之后)。
super.initState();
subscription = getPositionStream(desiredAccuracy: LocationAccuracy.high)
.listen((position) async {
centerScreen(position);
getLocation();
});
}
Future<void> centerScreen(Position position) async {
final GoogleMapController controller = await _controller.future;
controller.animateCamera(CameraUpdate.newCameraPosition(CameraPosition(
target: LatLng(position.latitude, position.longitude),
zoom: _currentZoom)));
}
Future getLocation() async {
Position position =
await getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
lat = position.latitude;
lng = position.longitude;
}
这是在我的initState之上:
StreamSubscription subscription;
这是在我的Google Map中,onMapCreated:
subscription.pause();
因此,它以暂停状态开始。我像这样恢复它:
if (item.menuTitle.startsWith('Lock')) {
mapController.animateCamera(CameraUpdate.newLatLng(LatLng(lat, lng)));
expanded ? subscription.resume() : subscription.pause();
expanded = !expanded;
setState(() {});
}
}
我认为这个文件是一个主要问题:
https://github.com/nhandrew/mapfollow/blob/master/lib/services/geolocator_service.dart
调用最终的Geolocator geo = Geolocator();不再有效。最新的更新确实破坏了一切。有人可以建议我如何更改geolocator_service.dart文件以使其与最新的geolocator兼容吗?
好的,我不知道为什么它不起作用。我尝试重新创建geolocator_service.dart文件,但这仍然无法正常工作