我遇到以下问题:我的 Flutter 应用程序使用 GoogleMap。地图最初加载得很好。但是,如果我将应用程序置于后台并稍后恢复,地图将保持空白。 Google 徽标仍然显示,就像未指定 API 密钥时发生的情况一样。我的多边形叠加层也不显示。
该行为无法可靠地重现。有时,应用程序在后台运行数小时后地图加载正常,有时几分钟后地图会显示为空白。到目前为止,我只在 Android 上看到过这种行为。
没有指示错误的特定日志输出。
有什么想法如何解决/解决这个问题吗?
我在这里提交了一个带有屏幕截图的问题:https://github.com/flutter/flutter/issues/40284 https://github.com/flutter/flutter/issues/40284
EDIT 1:我能够使用 GoogleMap 作为根小部件来重现这一点,并且也没有任何多边形/特征覆盖。另外,我发现在某个点疯狂放大会“重新激活”地图(突然地图再次变得可见)。这可能是底层 Android Google Maps SDK 的已知问题吗?
EDIT 2:我发现地图仍在反应(例如点击/手势监听器仍然触发)。此外,地图并不是真正空的,它只是变得半透明,因此屏幕显示地图后面的任何小部件。
我发现如果您点击标记或更改样式,地图会重新渲染
class TheWidgetThatHasTheMap with WidgetsBindingObserver {
//...your code
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
if (state == AppLifecycleState.resumed) {
controller.setMapStyle("[]");
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)