如何在不使用javascript的情况下处理GoogleMapsAPI

如何在不使用javascript的情况下处理GoogleMapsAPI,java,javascript,google-maps,jsp,user-interface,Java,Javascript,Google Maps,Jsp,User Interface,在我们的应用程序中,我们在jsp中使用GoogleMapsAPI。最近,我们发现在离线模式下google maps js文件没有加载,并且由于这个原因,其他与应用程序相关的javascript文件停止工作 下面是我试图解决的方法,但不幸的是这两种方法都不起作用 我将javascript从脚本标记移动到了窗口页面加载,但在这种情况下,web浏览器一直在旋转以加载google maps脚本,为了避免这种情况,我设置了窗口超时(不知道它到底做了什么)。即使超时,浏览器也会继续旋转 发件人: 致:

在我们的应用程序中,我们在jsp中使用GoogleMapsAPI。最近,我们发现在离线模式下google maps js文件没有加载,并且由于这个原因,其他与应用程序相关的javascript文件停止工作

下面是我试图解决的方法,但不幸的是这两种方法都不起作用

我将javascript从脚本标记移动到了窗口页面加载,但在这种情况下,web浏览器一直在旋转以加载google maps脚本,为了避免这种情况,我设置了窗口超时(不知道它到底做了什么)。即使超时,浏览器也会继续旋转

发件人:


致:

函数loadScript(){
var script=document.createElement('script');
script.type='text/javascript';
script.src=http://maps.google.com/maps?file=api&v=2&key=';
document.body.appendChild(脚本);
}
window.onload=loadScript;

$(函数(){
var-timeoutId;
timeoutId=window.setTimeout(函数(){
警报(“脚本错误!”);
//document.getElementById(“myFrame”).value=“”;
}, 20);
var url='1〕http://maps.google.com/maps?file=api&v=2&key=&callback=initialize';
$.getScript(url,function(){window.clearTimeout(timeoutId)});
});

非常感谢您能帮助我处理这个问题。

您可以通过jQuery的getScript之类的东西异步加载脚本,然后仅在ajax调用成功的情况下执行函数来加载google map内容,如果没有,则继续正常运行,而不必使用google maps内容

$.getScript( "http://maps.google.com/maps?file=api&v=2&key=<%=googleMapKey%>&callback=initialize" )
  .done(function( script, textStatus ) {
    //load your google maps stuff
  })
  .fail(function( jqxhr, settings, exception ) {
    //hide placeholder for google maps / display error
});
$.getScript(“http://maps.google.com/maps?file=api&v=2&key=&callback=initialize" )
.done(函数(脚本、文本状态){
//加载你的谷歌地图
})
.失败(功能(jqxhr、设置、异常){
//隐藏谷歌地图的占位符/显示错误
});

(不知羞耻地摘自)

您可以通过jQuery的getScript之类的东西异步加载脚本,然后只执行函数来加载google map,如果ajax调用成功,则继续正常加载,而不加载google maps

$.getScript( "http://maps.google.com/maps?file=api&v=2&key=<%=googleMapKey%>&callback=initialize" )
  .done(function( script, textStatus ) {
    //load your google maps stuff
  })
  .fail(function( jqxhr, settings, exception ) {
    //hide placeholder for google maps / display error
});
$.getScript(“http://maps.google.com/maps?file=api&v=2&key=&callback=initialize" )
.done(函数(脚本、文本状态){
//加载你的谷歌地图
})
.失败(功能(jqxhr、设置、异常){
//隐藏谷歌地图的占位符/显示错误
});

(无耻地摘自)

那么,您想在脱机模式下使用谷歌地图还是忽略它不会加载的事实?如果它不会加载,我只想继续jsp中的其他内容。那么您想在脱机模式下使用谷歌地图还是忽略它不会加载的事实?如果它不会加载,我只想继续jsp中的其他内容。如果我添加上述代码片段,web浏览器一直在旋转。代码中是否包含jQuery库?在上面的脚本之前引用它,如。如果我添加上面的代码段,web浏览器将继续旋转。代码中是否包含jQuery库?在上面的脚本之前引用它,如。
 $(function(){
        var timeoutId;
        timeoutId = window.setTimeout(function() {
            alert("Script Error!");
            //document.getElementById("myFrame").value = "";

        }, 20);
        var url = 'http://maps.google.com/maps?file=api&v=2&key=<%=googleMapKey%>&callback=initialize';
        $.getScript(url, function(){ window.clearTimeout(timeoutId) });
    });
$.getScript( "http://maps.google.com/maps?file=api&v=2&key=<%=googleMapKey%>&callback=initialize" )
  .done(function( script, textStatus ) {
    //load your google maps stuff
  })
  .fail(function( jqxhr, settings, exception ) {
    //hide placeholder for google maps / display error
});