在某些 android 设备上显示白屏而不是 google 地图

White screen instead of google map displays on some android devices

我正在开发一个使用 phonegap build 构建的应用程序,它使用 google 映射 api(不是插件)。该地图一直运行良好,直到最近它在某些 Android phone 上显示为空白屏幕,主要是那些 运行 Android 9. 没有地图控件显示,应用程序的其余部分工作正常。使用 Android 5.1.1 的测试设备在 iOS.

上工作正常

调试 phone 问题后,一个错误显示 'google was not defined'。

在 index.html 文件中,我尝试将导入 google 地图 api 脚本的行移动到使用 google 地图的 javascript 上方,指定 google 的版本映射到以前的版本,以防最近的更改以某种方式破坏它,并使用异步而不是 none 加载它。

问题是因为 Google Play 的新要求包括最新版本 Android 的目标 SDK 版本 - 在 config.xml 我最近添加了:

<preference name="android-targetSdkVersion" value="28" />

和 google 地图 javascript 是通过 http 而不是 https 引入的 - 在 index.html 中更改为:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXX&region=GB&libraries=places"></script>

这解决了某些 Android 设备上显示的白屏问题。