Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 使用Phonegap 7.0.1打开谷歌地图_Google Maps_Cordova_Href_Phonegap - Fatal编程技术网

Google maps 使用Phonegap 7.0.1打开谷歌地图

Google maps 使用Phonegap 7.0.1打开谷歌地图,google-maps,cordova,href,phonegap,Google Maps,Cordova,Href,Phonegap,在以前的Phonegap版本中,我习惯于从应用程序中打开google地图,只需打开一个href和一个url,如下所示 但我注意到,在Phonegap 7中,当我点击href元素时,什么都没有发生。为什么? 如何修复此问题并使用给定的行程打开google maps?出于安全原因,您不能将Cordova/PhoneGap视图重定向到其他地方托管的页面(与手机相反),因此您有两种选择: 为谷歌地图使用Cordova/PhoneGap插件,例如: 使用Cordova/PhoneGap应用程序浏览器插件

在以前的Phonegap版本中,我习惯于从应用程序中打开google地图,只需打开一个href和一个url,如下所示

但我注意到,在Phonegap 7中,当我点击href元素时,什么都没有发生。为什么?


如何修复此问题并使用给定的行程打开google maps?

出于安全原因,您不能将Cordova/PhoneGap视图重定向到其他地方托管的页面(与手机相反),因此您有两种选择:

  • 为谷歌地图使用Cordova/PhoneGap插件,例如:

  • 使用Cordova/PhoneGap应用程序浏览器插件启动地图 在应用程序内的全屏浏览器窗口中:


  • 选项#1将是首选选项。

    出于安全原因,您无法将Cordova/PhoneGap视图重定向到其他地方托管的页面(与手机相反),因此您有两个选项:

  • 为谷歌地图使用Cordova/PhoneGap插件,例如:

  • 使用Cordova/PhoneGap应用程序浏览器插件启动地图 在应用程序内的全屏浏览器窗口中:


  • 选项#1将是首选选项。

    如果你想启动谷歌地图应用程序(而不是在你的应用程序中嵌入谷歌地图),你可以使用插件。

    如果你想启动谷歌地图应用程序(而不是在你的应用程序中嵌入谷歌地图),你可以使用插件。

    你可以加载的页面,你可以加载的脚本,etc现在由CSP(内容安全策略)控制,而不仅仅是config.xml中的旧白名单机制。因此,如果你想访问网页,你必须设置你的。要使用谷歌地图,您至少需要将Google.com添加到默认src中,将gstatic.com添加到数据中。这些可能还不够,如果你认为它们不是唯一的选择,那就看看开发者控制台中的错误,看看如何在Android上获得Chrome开发者控制台,以及如何在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 *">
    

    您可以加载的页面、脚本等现在由CSP(内容安全策略)控制,而不仅仅是config.xml中的旧白名单机制。因此,如果你想访问网页,你必须设置你的。要使用谷歌地图,您至少需要将Google.com添加到默认src中,将gstatic.com添加到数据中。这些可能还不够,如果你认为它们不是唯一的选择,那就看看开发者控制台中的错误,看看如何在Android上获得Chrome开发者控制台,以及如何在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 *">
    

    我的解决方案曾用于旧版phonegap,因此,我认为,这是上一版本的新功能。使用选项#1,我可以打开行程吗?我看到您有data=并且#1的文档显示google.maps.data不可用。在这种情况下,您最好尝试选项2并保持您的URL不变。我的解决方案用于处理旧的phonegap,因此,我认为,这是上一版本的新功能。使用选项#1,我可以打开行程吗?我看到您有data=并且#1的文档显示google.maps.data不可用。在这种情况下,您最好尝试选项2并保持URL不变。好主意。值得注意的是,只有当谷歌地图作为应用程序安装时,这才有效。好主意。值得注意的是,这只有在谷歌地图作为应用程序安装的情况下才有效。你在哪里插入你发布的第一行代码?在index.html文件中还是其他地方?@PieroAlberto是的,它位于索引文件的头部。如果您创建一个新的cordova/phonegap项目(“cordova create newproject”),它将创建一个示例index.html,您可以查看该示例,但您必须根据需要适当调整CSP。如果使用您的CSP设置,我会收到以下错误消息:“拒绝将字符串作为JavaScript求值,因为在以下内容安全策略指令中,“unsafe eval”不是允许的脚本源:“default src‘self’google.com data:gap:”。为什么?这似乎没问题:你在哪里插入你发布的第一行代码?在index.html文件中还是其他地方?@PieroAlberto是的,它位于索引文件的头部。如果您创建一个新的cordova/phonegap项目(“cordova create newproject”),它将创建一个示例index.html,您可以查看该示例,但您必须根据需要适当调整CSP。如果使用您的CSP设置,我会收到以下错误消息:“拒绝将字符串作为JavaScript求值,因为在以下内容安全策略指令中,“unsafe eval”不是允许的脚本源:“default src‘self’google.com data:gap:”。为什么?这似乎还可以: