当地图不可用时,谷歌地图API需要很长时间



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

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

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

您可以检查API是否存在:

var foundMap = typeof google === 'object' && typeof google.maps === 'object';
if (foundMap) {
  // load the map
} else {
  // add code for manually entering the address
}

我能够通过将脚本放入body标记(body标记的末尾)来解决我的问题。以前,我将脚本放在头部标签内,这需要更多的时间来加载,这反过来又阻止了其他脚本,直到它被加载。这个链接给了我灵感,

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

基本上,最好的做法是将脚本放在结束正文标签之前。为了更好地理解,请参考这篇文章,

我该把

最新更新