Google Map API在地图不可用时需要很长时间

时间:2014-06-16 15:24:54

标签: javascript google-maps google-maps-api-3

我正在使用谷歌地图API在我的代码中加载谷歌地图。现在,我必须为用户提供在谷歌地图不可用时手动输入地址的选项。在这里,我的问题是,当谷歌地图不可用时,浏览器需要大约2分钟才能连接到API

<script type="text/javascript"
    src="<%=requestScheme%>://maps.google.com/maps/api/js?sensor=false&libraries=places">
</script>

并且请求因超时而中止。因此,我必须等待2分钟,直到显示手动输入详细信息的选项。任何建议在地图不可用时避免这2分钟的时间延迟。我是否必须设置一个等待30秒的时间,并允许用户手动输入如果地图未在该时间范围内加载?

2 个答案:

答案 0 :(得分:1)

您可以检查是否存在API:

var foundMap = typeof google === 'object' && typeof google.maps === 'object';

if (foundMap) {
  // load the map
} else {
  // add code for manually entering the address
}

答案 1 :(得分:0)

我能够通过将脚本放在body标签(body标签的末尾)中来解决我的问题。以前我将脚本放在head标签中,这需要花费更多的时间来加载,这反过来阻止了其他脚本,直到它被加载。这个链接给了我这个想法,

http://stevesouders.com/hpws/js-blocking.php

基本上,最好将脚本放在结束体标记之前。为了更好地理解,请参阅这篇文章,

Where should I put <script> tags in HTML markup?