我正在使用谷歌地图API在我的代码中加载谷歌地图。现在,我必须为用户提供在谷歌地图不可用时手动输入地址的选项。在这里,我的问题是,当谷歌地图不可用时,浏览器需要大约2分钟才能连接到API
<script type="text/javascript"
src="<%=requestScheme%>://maps.google.com/maps/api/js?sensor=false&libraries=places">
</script>
并且请求因超时而中止。因此,我必须等待2分钟,直到显示手动输入详细信息的选项。任何建议在地图不可用时避免这2分钟的时间延迟。我是否必须设置一个等待30秒的时间,并允许用户手动输入如果地图未在该时间范围内加载?
答案 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
基本上,最好将脚本放在结束体标记之前。为了更好地理解,请参阅这篇文章,