使用之前的Phonegap版本,我曾经在应用中打开谷歌地图,只需打开一个href网址,就像这样https://www.google.com/maps/dir/?api=1&origin=43.9815648,7.5328161&destination=41.802425,12.6021389
但是我注意到,使用Phonegap 7时,当我点击href元素时,没有任何反应。为什么呢?
如何修复此问题并使用给定行程打开Google地图?
答案 0 :(得分:1)
出于安全原因,您无法将Cordova / PhoneGap视图重定向到其他地方托管的页面(而不是手机上),因此您有两种选择:
使用适用于Google地图的Cordova / PhoneGap插件,例如: https://www.npmjs.com/package/cordova-plugin-googlemaps
使用Cordova / PhoneGap应用内浏览器插件启动您的地图 在应用内的全屏浏览器窗口中: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/
选项#1将是首选选项。
答案 1 :(得分:1)
如果您要启动Google地图应用(而不是在应用中嵌入Google地图,例如cordova-plugin-googlemaps),则可以使用phonegap-launch-navigator插件。
答案 2 :(得分:1)
您可以加载的页面,可以加载的脚本等现在由CSP(内容安全策略)控制,而不仅仅是config.xml中的旧WhiteList机制。因此,如果您想访问网页,则必须设置Content Security Policy appropriately。要使用谷歌地图,您至少需要将google.com添加到默认的src,gstatic.com到数据。这些可能还不够,如果您不是他们可能唯一的选择是查看开发者控制台中的错误,请参阅here如何在Android上获取Chrome开发者控制台,以及here在iOS上看到它。我总是发现CSP设置恰到好处需要一堆试验和错误。
<meta http-equiv="Content-Security-Policy" content="default-src 'self' google.com data: gap: https://ssl.gstatic.com; style-src 'self' 'unsafe-inline' google.com; media-src *">
也就是说,您可能不希望Google地图控制您的应用程序(或者您可能会这样做?)因此建议使用In App Browser插件的其他建议。它只添加一个plugin并使用一些javascript打开窗口:
cordova.InAppBrowser.open('https://www.google.com/maps/dir/?api=1&origin=43.9815648,7.5328161&destination=41.802425,12.6021389', '_blank', 'location=yes');