我正在尝试让 Google Maps API v3 在我的网站上运行,但遇到了 2 个问题。
我正在使用yepnope异步加载 API 脚本,我在控制台中收到“X-Frame-Options 拒绝加载”错误。它说http://maps.googleapis.com/maps/api/js?sensor=false&callback=init_google_maps&ver=3.0不允许跨域框架。这对我来说很奇怪,因为我没有在任何类型的框架中加载任何内容。请注意,地图仍在加载,但控制台中的错误与我有关。
地图控件未正确显示。我不认为这与第一个问题有关,因为即使我以传统方式(同步)加载 API 时我也会得到这个,但它可能以某种方式相关。
我不确定这是否重要,但我在我的“localhost”测试服务器上运行它。关于可能导致这些问题的任何想法?
更新: 如下所述,X-Frame 问题仅在我通过 yepnope 加载 API 时发生。我不明白为什么使用 yepnope 注入脚本标签会导致错误,而使用更简单的 js 函数却不会。然而,我主要关心的是地图的显示。我在本地服务器上更精简的页面上测试了地图,它显示正确。所以,我目前的假设是我在页面某处声明的样式(或脚本?)干扰了谷歌地图。
更新2:
好的,如果最终解决了显示问题。我浏览了我的主要样式表并注释掉了部分,直到我找到了罪魁祸首。为了使我的图像在我的流畅布局中响应,我声明了img { max-width: 100%; }
. 显然,谷歌地图不喜欢这样。一旦我为地图容器覆盖了该样式,一切都会正常显示。然而,X-Frame 问题仍然让我感到困惑。