我正在开发一个项目,我必须使用dojo(我正在做一个自定义小部件)和google map api(v3)
由于某些技术原因,我必须通过我的js文件包含谷歌地图api,而不是通过我的html文件,所以我不能使用
<script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places'></script>
负载必须同步完成。
我尝试了一些东西,首先使用
添加脚本document.write("<script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places'></script>");
但这不起作用,我得到一个空白页面,使用firebug我可以看到面板“网络”正在清除,页面无限加载谷歌地图api脚本。
我想我不能使用dojo.io.script(它允许发出跨域请求),因为我们不能用dojo.io.script发出同步请求
任何帮助将不胜感激;)
答案 0 :(得分:1)
好吧,解决方案是使用谷歌地图回调:
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places&callback=mapLoaded";
document.body.appendChild(script);
然后创建执行代码
的函数“mapLoaded”感谢那些花时间回答我的人
答案 1 :(得分:0)
您仍然可以使用dojo.io.script。它不必是同步的。 maps API采用c