我试图创建一个简单的地理定位应用。原生地理定位工作正常,坐标正在进入。我很难加载谷歌地图,like in the Simple Markers example here。
Turns out you have to whitelist external domains。没问题,我将以下内容添加到我的config.xml(在phonegap应用程序的根目录中):
<platform name="android">
以防万一,我在<body>
<span><img src="https://maps.gstatic.com/mapfiles/api-3/images/spotlight-poi_hdpi.png" alt="" /></span>
<div id="map"></div>
</body>
下添加了相同内容。然后我删除了它。依然没有。
然后我让应用程序显示一个简单的图像;这就是应用程序的HTML部分:
googleapis.com
如果我在浏览器中打开此文件,它就是一个好的:
但是当我编译应用程序并在平板电脑上打开它时,呃哦:
所以看起来访问权限没有正确设置。图像被破坏,config.xml
从未加载,我的地图永远不会看到光明。
我的赌注是我不知道的一些不起眼的权限。我已经把头撞到墙上一段时间了,真的很感激一些帮助。提前谢谢。
答案 0 :(得分:1)
鉴于您已将白名单*作为来源,您甚至不需要Google。您是否尝试过从Chrome检查应用程序?在桌面浏览器中转到 chrome:// inspect ,如果设备已连接到您的计算机,您可以从那里检查应用程序。
检查器中的控制台应显示您的请求所发生的任何错误。我猜你有一个阻止请求的内容安全策略。最新版本的白名单文档位于https://github.com/apache/cordova-plugin-whitelist。在自述文件的底部,您将看到一些内容安全策略的示例。我建议在index.html中添加以下内容:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline'; media-src *">