尝试异步加载 Google 地图,以便更快地启动 HTML 页面。
已使用链接中提到的以下代码:https ://developers.google.com/maps/documentation/javascript/tutorial#asynch 。部分:异步加载 API。
function initialize() {
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=TRUE_OR_FALSE&callback=initialize";
document.body.appendChild(script);
}
window.onload = loadScript;
问题:
loadScript()
调用函数后网络断开时。目前我们找不到任何方法来检查网络连接是否已终止并进行适当的错误处理。即使网络有时可用,
initialize()
也不会调用回调函数''。即使在 3G 网络上,在移动设备上加载谷歌地图也很慢。
loadScript()
在上述两种情况下,我们都会在调用后立即启动加载图标。由于initialize()
没有被回调,它会在加载图标中无限期地被阻塞。
请提供一些指针来处理网络断开和回调函数未调用问题。