这个问题让我抓狂。我们的应用程序使用一年多了,Android 上的谷歌地图出现了故障。我们无法主动重现它,而且它发生在完全不同的随机时间,无论应用程序是否已后台运行。问题是整个地图有时显示为空白屏幕。要解决此问题,您必须在图层之间切换几次,然后地图才会正常显示。我们成功地用这个命令重现了它一次。
adb shell am send-trim-memory BUNDLEID COMPLETE
您应该在谷歌开发者控制台中检查是否为 Android 和 iOS 启用了 Google 地图 sdk。您也可以尝试从 Google 开发控制台创建新的 Google 地图 Api 密钥并在项目中更改它。
对于遇到此问题的任何人,我们终于通过这样做解决了它。
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (Platform.isAndroid && state == AppLifecycleState.resumed) {
setState(() {
_controller.forceReRender();
});
}
super.didChangeAppLifecycleState(state);
}
Future<void> forceReRender() async {
await _mapController?.setMapStyle('[]');
}
因此,每当应用程序恢复时,我们都会强制重新渲染地图样式。我们只在 Android 上看到过这种情况,因此我们还检查它是否是 Android 手机,以避免在 iOS 上不必要的重新渲染。