我在JS中编写了一个Google Maps API包装器,使用静态html进行了一些本地测试,一切正常。然后我将文件加载到运行在localhost:8080中的本地Web服务器上,测试了地图面板,再一次,一切正常。
然后一周过去了,我在页面上添加了一张地图,我无法加载它。没有任何改变(我知道无论如何,显然有些东西),静态测试继续正常工作,但当我尝试从服务器加载API时,我在调试控制台中得到了这个:
XMLHttpRequest cannot load http://maps.google.com/maps/api/js?sensor=false.
Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin.
我读了一下,但我仍然无法理解错误,更不用说修复它了。有人可以帮我一把吗?
编辑:我使用简单的 标记来加载Google的js。没有jQuery,没有任何东西。
提前致谢!
答案 0 :(得分:1)
@Santiago希望我现在可以帮助你:)你收到的错误是由于谷歌禁止跨站点脚本。您可以在此处找到相关信息:Google,其中也引用了:Wikipedia Article 看起来您需要在面向公众的Web服务器上为您的客户端创建代理服务。由于请求来自您的公共网络服务器,并且回复会返回到您的网络服务器,因此它将满足Google要求的相同域名要求。我还不知道python还没有创建pythonic cgi代理,但我必须认为已经有很多不同的解决方案了。此外,您的服务器将限制您使用的解决方案类型。
HTH! ~MWR